jquery检测是否另一个div当前正在显示
问题描述:
我想要做的是避免同时显示#login和#signUp,所以有一个检查我可以做到这一点,如果另一个当前正在显示,首先将它向上滑动,然后继续滑动点击触发器?jquery检测是否另一个div当前正在显示
这有道理吗? 。
$("#loginBtn").click(function(){
$("#login").slideToggle();
return false;
});
$("#signUpBtn").click(function(){
$("#signUp").slideToggle();
return false;
});
答
您可以检查其他的元素,您拨打的slideToggle使用is(":visible")
之前是可见的,你调用一个选择的is
方法,并在为方法指定:visible
选择:
$("selector").is(":visible")
这将返回true
或false
。要在当前的代码实现这一点,你会这么做是这样的:
$("#loginBtn").click(function(){
if($("#signUp").is(":visible")) $("#signUp").slideToggle("fast", slideLoginCallback);
else slideLoginCallback();
function slideLoginCallback(){
$("#login").slideToggle();
}
return false;
});
$("#signUpBtn").click(function(){
if($("#login").is(":visible")) $("#login").slideToggle("fast", slideSignUpCallback);
else slideSignUpCallback();
function slideSignUpCallback(){
$("#signUp").slideToggle();
}
return false;
});
因此,这将检查是否#signUp是可见光第一,如果是,它会隐藏它。在#signUp被隐藏之后,将显示#login。如果#signUp不可见,#login将只显示。 #logIn相同,但相反。
答
使用 “:可见”:
$( “#注册”)是( “:可见”);
喜欢它,我去了这个! – benhowdle89 2011-01-20 12:33:17