當用戶在我的網站上向下滾動時,我想檢測頂部標題何時不在視圖中。這可能與jQuery的?如何檢測元素是否不顯示在屏幕上進行滾動?
2
A
回答
2
正如@RoryMcCrossan提到的,你可以自己計算它。
如果你想多一點flexibillity,試試這個jQuery插件:
http://www.appelsiini.net/projects/viewport
它會告訴你查詢基於元素是否是可見的視口內的DOM。
例如:
$("div:in-viewport")
只會返回div
S中的當前可見。
您還可以根據它們的位置查詢不可見的元素。主要:
$(":below-the-fold")
$(":above-the-top")
$(":left-of-screen")
$(":right-of-screen")
查看上面的鏈接瞭解更多信息和下載。
如果你想使用這個庫來查詢元素目前沒有顯示,
不管他們在哪裏,然後使用此:
$("div").not(":in-viewport")
因此,假設你的頭有header
的ID,你可以這樣使用:
var $header = $('#header');
$(window).scroll(function()
{
var isVisible = $header.is(':in-viewport');
// Now show, hide, or do whatever you want...
});
1
你需要t檢查元素的位置,使用offset()
針對窗口滾動的位置。類似這樣的:
$(window).scroll(function() {
var $header = $("#header");
var headerBottomPos = $header.offset().top + $header.height();
if (headerBottomPos < this.scrollTop()) {
// header is not being displayed
}
});
相關問題
- 1. JQM - 如何檢測項目是否顯示在屏幕上
- 2. 如何檢測滾動框(html元素)是否可滾動
- 3. 檢查屏幕上是否顯示Vector3
- 4. 如何檢查元素是否在屏幕上
- 5. 檢測屏幕鍵盤是否顯示在Windows Phone 7上
- 6. 在屏幕上顯示div元素
- 7. 如何檢查主屏幕是否顯示在iPhone上?
- 8. 檢測對象是否在屏幕上
- 9. 確定元素是否在屏幕上
- 10. 如何在Vim中逐行滾動屏幕而不是逐段滾動屏幕?
- 11. 如何在顯示元素設置爲none時避免屏幕自動滾動
- 12. 如何檢測屏幕是否連接?
- 13. 如何檢查當前是否顯示啓動器/主屏幕
- 14. 檢測是否在HiDPI顯示屏上運行
- 15. 如何判斷元素何時最終顯示在屏幕上?
- 16. 進度條不顯示在屏幕上
- 17. jQuery的:測試是否元素在屏幕上
- 18. 如何檢測屏幕上
- 19. 檢查元素是否在屏幕上與斷言,NoSuchElementException發生
- 20. 編寫長文本在Android屏幕上顯示以便屏幕滾動顯示
- 21. 滾動條不顯示整個屏幕
- 22. 滾動條不顯示整個屏幕
- 23. Android的 - 如何檢測在屏幕上顯示的軟鍵盤
- 24. 如何測試一個元素是否顯示在頁面上
- 25. 如何檢測WebGL視口是否在屏幕上?
- 26. 如何在滾動時按類名在屏幕上檢查div是否可見?
- 27. C#:如何檢測屏幕閱讀器是否正在運行?
- 28. 僅在屏幕上方滾動顯示x時顯示內容
- 29. 如何知道html元素是否在屏幕上?
- 30. 如何知道元素是否在屏幕上?