2015-05-19 3 views
1

У меня 2 div сек, которые изначально скрытыJQuery скрыть, если либо ДИВ видна

<div id="whistle" style="display:none;"> 
<div id="lean" style="display:none;"> 

У меня также есть div, который виден

<div id="me" style="display:block"> 

У меня есть JQuery код, который позволяет только #whistle или #lean divs должны быть открыты сразу, их кнопки скроют друг друга.

я в настоящее время есть код, который также скрывает #me DIV, но я бы сейчас, как #me DIV, чтобы открыть резервную копию, когда оба #whistle и #lean закрыты.

Если вы хотите, чтобы увидеть сайт, ссылка maxdev.tk

код JQuery является

$(document).ready(function(){ 
    $("#calc").click(function(){ 
     $("#whistle").hide(600); 
     $("#lean").toggle(900); 
}); 
}); 

$(document).ready(function(){ 
    $("#whi").click(function(){ 
     $("#lean").hide(600); 
     $("#whistle").toggle(900); 
}); 
}); 
+1

Можете ли вы добавить код JavaScript на вопрос. –

+0

Какая у вас проблема при попытке открыть блок '# me'? – Barmar

+0

To @RoryMcCrossan Я добавил jQuery к вопросу. –

ответ

2

Это один из способов его решения. Найдите его также как ручку в конце этого сообщения.

$(document).ready(function() { 
 
    function callback() { 
 
    if($('#whistle').hasClass('hidden') && $('#lean').hasClass('hidden')) { 
 
      $('#me').removeClass('hidden'); 
 
    } else { 
 
      $('#me').addClass('hidden'); 
 
    } 
 
    } 
 
    $('button[data-for=whistle]').on('click', function() { 
 
    $('#whistle').toggleClass('hidden'); 
 
    $('#lean').addClass('hidden'); 
 
    callback(); 
 
    }); 
 
    $('button[data-for=lean]').on('click', function() { 
 
    $('#lean').toggleClass('hidden'); 
 
    $('#whistle').addClass('hidden'); 
 
    callback(); 
 
    }); 
 
})
.hidden { 
 
    opacity: 0; 
 
    height: 0; 
 
    overflow: hidden; 
 
    padding: 0; 
 
} 
 

 
div { 
 
    background-color: #ccc; 
 
    border-radius: 25px; 
 
    margin-top: 20px; 
 
    padding: 50px; 
 
    text-align: center; 
 
    transition-duration: 0.4s; 
 
    width: 50%; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<button data-for="whistle">Whistle</button> 
 
<button data-for="lean">Lean</button> 
 
<div id="whistle" class="hidden">Whistle!</div> 
 
<div id="lean" class="hidden">Lean!</div> 
 
<div id="me">Me!</div>

http://codepen.io/anon/pen/yNJrwe

+0

Это именно то, что мне нужно! К сожалению, это не работает правильно. Если вы не прочь проверить это, я сделал ручку здесь: http://codepen.io/maxrosen/pen/yNJWPb –

+0

Проблема в том, что он не открывает «# me», и он не открывается '# whistle' и' # lean' не могут переключаться более одного раза. –

+0

Ну, вам придется инвестировать * некоторые * сами. Поэтому постарайтесь понять рабочий пример, что отличается от вашего кода и научиться адаптировать его к вашим потребностям! – connexo

1

Добавьте этот код в конце какой-либо функции нажимать кнопки.

if(!$('#whistle').is(':visible') && !$('#lean').is(':visible')) { 
     $('#me').css("display","block"); // or use .show(); 
} else { 
     $('#me').css("display","none"); // or use .hide(); 
} 
+0

Я использовал ваш код для построения аналогичного рабочего примера в своем ответе. – connexo

+0

Не могли бы вы отметить это как правильное решение? – jmcmahon443

Смежные вопросы