2014-11-24 85 views
2

我有一個塊列表,其中一些只有在向下滾動時纔可見。一旦他們進入視口,我需要讓那些尺寸從0%到100%不可見的縮放,這種延遲加載效果可能會影響整個元素,而不僅僅是圖像。爲此,我向航點元素添加一個類。 Waypoints在加載頁面時也將該類添加到視口中已存在的元素上。是否可以僅定位尚未在視口中的元素?如何僅在視口外的元素上執行jquery Waypoint?

這是我使用的功能:

$('.post').waypoint(function(direction) { 
    if (direction === 'down') $(this).addClass('animate'); 
}, { offset: '101%' }); 

這就是例子鏈接 http://brainfood.clientapproval.co.uk/

如果向下滾動,你會看到類添加到已元素在視口中。然後,您可以在視口外的元素上看到所需的效果。有沒有辦法阻止Waypoint在頁面加載時對視口中已經存在的元素執行?或者你能推薦其他方式嗎?

+3

您可以使用自定義選擇如http://www.appelsiini.net/projects/viewport然後使用'$(」後:沒有(:在視口) ').waypoint(...);' – 2014-11-24 18:45:06

+0

你無法理解我對你的感激!謝謝!這是我需要的 – Jeff 2014-11-24 18:57:29

回答

0

你應該試試這個plugin這是你的情況是非常有用的,它只會告訴你,如果元素是視口或沒有(你可以解僱你滾動檢查每次)

用法簡單:

$('#element').visible(); 

如果整個要素是 用戶(視覺視口內)可見這基本檢查將返回true。

檢查這個基本example

+0

謝謝,我試過可見的插件之前,但沒有運氣。我已經用自定義選擇器$('。post:not(:in-viewport)')解決了。根據A.沃爾夫評論 – Jeff 2014-11-24 19:02:14

+0

沒問題,但我沒有得到你爲什麼不能使用它?無論如何,高興你已經解決了你的問題。 – ProllyGeek 2014-11-24 19:04:14

相關問題