Я хочу, чтобы при загрузке моей страницы первый раз, тогда <div class="col-md-9 column" id="c9" >
будет активным, но затем я нажму кнопку переключения, тогда class="col-md-9 column" id="c9"
идет скрывать и <div class="col-md-12 column" id="c12"
будет показано. мой код переключения работает, но когда я добавляю этот код
if ($('#c9').is(':visible')) {
$('#c12').hide();
}
if ($('#c9').is(':hidden')) {
$('#c12').show();
}
то оба этих div не показывают
<div class="col-md-3 column" id="area_toggle">
</div>
<div class="col-md-9 column" id="c9" >
<div class="col-md-12 column" id="c12" style="display: none">
</div>
</div>
<script>
$( "#menu-toggle" ).click(function() {
$( "#area_toggle" ).toggle( "slow" )
$( "#sidebar" ).toggle( "slow" );
if ($('#c9').is(':visible')) {
$('#c12').hide();
}
if ($('#c9').is(':hidden')) {
$('#c12').show();
}
});
</script>
Ваше требование, основанное на коде, является парадоксальным, если я правильно понимаю, что вы хотите показать # c9 и скрыть # c12, то один раз, когда #area_toggle будет нажато показать # c12 и скрыть # c9? Это невозможно, так как c12 является дочерним элементом c9, это означает, что когда # c9 скрыто, # c12 также скрыт.
Вы можете просто использовать toggle() для переключения видимости обоих элементов вместо использования if... else
$("#menu-toggle").click(function () {
$("#area_toggle").toggle("slow")
$("#sidebar").toggle("slow");
$('#c9, #c12').toggle();
});
Вы используете c9 для сравнения, но этот элемент не переключается, вместо этого вы должны использовать что-то вроде этого:
<div class="col-md-3 column" id="area_toggle">
</div>
<div class="col-md-9 column" id="c9" >
<div class="col-md-12 column" id="c12" style="display: none">
</div>
</div>
<script>
$( "#menu-toggle" ).click(function() {
$( "#area_toggle" ).toggle( "slow" );
$( "#sidebar" ).toggle( "slow" );
if ($('#c12').is(':visible')) {
$('#c12').hide();
} else {
$('#c12').show();
}
});
</script>