我的頁面上有一些元素的集合,我想查看它們是否可見或不是當前。
所以:
$(".someClass")
我遍歷和如何可以算出來?因爲如果它是可見的,我必須發射另一個功能。
我的頁面上有一些元素的集合,我想查看它們是否可見或不是當前。
所以:
$(".someClass")
我遍歷和如何可以算出來?因爲如果它是可見的,我必須發射另一個功能。
$(".someClass").each(function(){
if($(this).is(":visible")){
//item is visible: do something
}
});
那怎麼樣?
$(".someClass:visible")
將返回可見的。
你可以做什麼:
$(".someClass").each(function(x) { if (x.style.display != "none" && x.style.visibility != "hidden") { your_function(); } });
其中your_function()
是你的函數的名稱。
關於$('.someClass').is(':visible')
的所有解決方案都不可靠。它告訴我們的是,如果一個特定元素的樣式爲display:none
或visibility:hidden
。這是不是就像一個元素是否可見一樣!
考慮的情況是這樣的:
大家可以看到,$('.someClass')
指定的元素是不可見的。但$('.someClass').is(':visible')
將返回true
!
唯一的防水解決方案是不僅檢查$('.someClass')
上的is(':visible')
,還檢查其所有父元素。如果父母認爲沒有認爲is(':visible') === false
,我們可以得出結論$('.someClass')
實際上是可見的。
是的,我很確定這正是他想要的 – 2009-04-16 19:58:11
是的,我不認爲我可以進一步優化它。好工作。 – KyleFarris 2009-04-16 20:51:13