JSFiddle:http://jsfiddle.net/ncuacvcu/
DIV home 默认显示。
点击 LINK one / LINK two , DIV one / DIV two 取代 DIV主页。当我再次点击链接一个 / LINK两个时, DIV一个 / DIV两个切换关闭,留空白色空间。如何在当时再次显示 DIV home ?
同时,如果 DIV一个打开,我点击 LINK两个,我希望 DIV一个替换为< strong> DIV two (即没有经过 DIV主页)。
这是我尝试过的(以及一些变化),但我无法让它起作用:
$("a#one_toggle").click(function()
{
$(".hideall").not(".one").slideUp();
$(".one")slideToggle(function(){
if($('#client1').is(':visible')){
$('#client0').SlideUp();
} else{
$('#client0').SlideDown();
}
});
});
提前感谢任何提示!
答案 0 :(得分:0)
您需要使用slideToggle的回调并检查带有class home的div是否可见,然后显示它。
http://api.jquery.com/slidetoggle/
$(function() {
$("a#one_toggle").click(function() {
$(".hideall").not(".one").slideUp();
$(".one").slideToggle('slow', function() {
showHome($('.one'));
});
});
$("a#two_toggle").click(function() {
$(".hideall").not(".two").slideUp();
$(".two").slideToggle('slow', function() {
showHome($('.two'));
});
});
});
function showHome(elementToCheck) {
// now we know if the div to check is visible or not
if (!$(elementToCheck).is(':visible')) {
// the div is not visible so we show it
$('.home').slideDown();
}
}
.one,
.two {
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="one_toggle">link one</a>
<a href="#" id="two_toggle">link two</a>
<div class="home hideall">
home
</div>
<div class="one hideall">
one
</div>
<div class="two hideall">
two
</div>