我有一個使用jQuery滾動效果的頁面。檢測HTML元素是否滾動超出隱藏溢出
滾動元素包含在overflow="hidden"
的元素中。
我需要激活一些Javascript代碼,一旦Portlet滾動到用戶視圖,以及其他Javascript代碼在Portlet隱藏時運行。我目前無法控制滾動按鈕,所以我有這個想法:檢查(定期,用window.setTimeout
)用戶是否可以看到portlet。顯然,測試visible="block"
不會有幫助。
你有什麼想法嗎?
謝謝
我有一個使用jQuery滾動效果的頁面。檢測HTML元素是否滾動超出隱藏溢出
滾動元素包含在overflow="hidden"
的元素中。
我需要激活一些Javascript代碼,一旦Portlet滾動到用戶視圖,以及其他Javascript代碼在Portlet隱藏時運行。我目前無法控制滾動按鈕,所以我有這個想法:檢查(定期,用window.setTimeout
)用戶是否可以看到portlet。顯然,測試visible="block"
不會有幫助。
你有什麼想法嗎?
謝謝
我不得不通過jQuery元素的offset().left
與容器的offset().left()
和offset().left + width()
值進行比較。
我假設所有元素的大小爲了完全可見或不可見(所以我只需要檢查左上角)和在我的情況下,滾動只是水平的,所以不需要檢查頂部和高度
看看容器的.scrollHeight屬性。它會告訴你滾動的位置。然後將其與您正在檢測的元素的偏移高度進行比較。
最近我寫了一個非常小的插件,只是這樣的:
這將是一個比較難在這裏發表有意義的代碼示例,所以我建議你檢查出的演示。
在一個元素上運行它,提供一個包裝元素,一個對象將返回 。該對象將具有頂部,底部,左側 的右側數值以及右側的數值,如果該元素已經從這兩個側面上的包裝中滾動出來,則表示元素在該側的視圖中有多少像素不在 視圖中。
我以爲我會在這裏發佈,這樣任何從搜索登陸的人都可以找到插件,也許可以自己節省一些時間。
我很久以前就離開了這個項目,但你的努力絕對值得讚賞。 – 2012-11-08 19:55:12
我沒有提到滾動是水平的。然後我必須檢查scrollWidth VS offsetWidth? – 2011-03-22 14:34:35