如何检查一个元素是否隐藏了jquery
这个问题在这里已经有了答案:
hidden
不是jQuery对象的属性。 尝试is(':hidden')
$('#Div1').click(function () {
if ($("#Div2").is(':hidden')) {
$("#Div2").show(500);
}
else {
$("#Div2").hide(1000);
}
});
如果时间相同,则可以简单地使用基于当前可见性hide
或show
的toggle()
。
$('#Div1').click(function () {
$("#Div2").stop().toggle(500);
});
和@A一样。 Wolff建议,为了允许多次点击,也可以使用stop
来停止正在进行的任何现有动画:
$('#Div1').click(function () {
if ($("#Div2").stop().is(':hidden')) {
$("#Div2").show(500);
}
else {
$("#Div2").hide(1000);
}
});
第2部分:
要点击页面上其他任何位置时要隐藏div,请聆听点击document
:
例如
$(document).click(function(){
$("#Div2").stop().hide(1000);
});
为了使它正常工作,你不能允许点击div1传播到文档,所以改变第一部分,在第一个事件参数上也使用stopPropagation()
:
$('#Div1').click(function (e) {
e.stopPropagation(); // stop click propagating to document click handler
if ($("#Div2").is(':hidden')) {
$("#Div2").show(500);
}
else {
$("#Div2").hide(1000);
}
});
链接地址: http://www.djcxy.com/p/2397.html