使用jQuery检查div是否可见
我正在尝试使用jQuery加载的单页设计。 我有几个主要的导航元素,根据点击的内容,显示或隐藏不同的div。 例如html:
和jQuery
$(".a").click(function(){ $('.b').hide(); $('.b1').hide(); $('.b2').hide(); $('.a1').slideDown({ duration:500, complete:function(){ $('.a2').slideDown('1000'); } }); return false }); $(".b").click(function(){ $('.a').hide(); $('.a1').hide(); $('.a2').hide(); $('.b1').slideDown({ duration:500, complete:function(){ $('.b2').slideDown('1000'); } }); return false });
什么是更好,更有效的方式来写这个并检查不需要的div是否可见? 我确实阅读了这个解决方案,但我希望将其保留为div块而不是列表。
你可以在一个陈述中完成所有隐藏,例如:
$('.b, .b1, b2').hide();
除此之外,我不确定我明白为什么你需要检查能见度? 你可以隐藏已经隐藏的元素没有问题
我也会更简洁地做滑动:
$('.a1').slideDown(500, function() { $('.a2').slideDown(1000); });
.is(':visible')
用于非常简单的检查。 返回一个布尔值。
即使在已经处于所需状态的元素上,也可以调用hide和show方法。
$(’#abc’)。hide()如果没有隐藏则会隐藏#abc,如果不隐藏则不执行任何操作
同样适用于.show()。
所以我认为没有必要对已经隐藏的元素进行完整性检查