2013-03-19 107 views
1

我有一堆因隱藏溢出的元素:隱藏在父元素上。我創建了一個jQuery函數,它可以添加邊距,以便在用戶單擊時顯示一組新元素。不過,我需要一種方法來檢測最後一個元素何時可見,這樣我就可以在達到最終效果時停止工作。檢測溢出的可見性:隱藏

我所用的功能是這樣的:

$(this).children('.Product').last().is(':visible') 

我也試過:

$(this).children('.Product:last-child').is(':visible') 

兩個返回false即使在最後。產品元素在屏幕上是可見的。

這應該工作嗎? 有沒有更好的方法可以做到這一點?

+0

你可以創建一個jsFiddle來展示這種情況嗎? – blackhawk 2013-03-19 14:44:41

+1

要做的事情最好的方法就是檢查邊距大小是否顯示最後一個元素的大小。 – gaynorvader 2013-03-19 14:52:17

回答

0

:visible規範說'元素被視爲可見,如果他們消耗文檔中的空間。可見元素的寬度或高度大於零。' http://api.jquery.com/visible-selector/我想它不會檢查一個元素是否進入視圖。

0

你試過:

$(this).children('.Product:last').is(':visible'); 

如果這不起作用,嘗試粘貼HTML代碼或創建一個小提琴,所以我們可以幫助您更好。

0

如前所述,:visible將返回true,如果它們的元素具有可見性,即它們不是display: none或者它們仍然影響dom的元素流。

什麼你之後,如果他們是在當前用戶的視口:

See this Plugin: Viewport Selectors for jQuery

祝您好運!