有沒有辦法通過使用jQuery來確定某個元素當前是否在用戶的屏幕/視口上可見? (不使用其他外部庫)確定元素是否在屏幕上
-2
A
回答
0
不能直接使用默認jQuery的,但你可以實現自己的功能,你可以用它之後一個jQuery的元素:
(function ($) {
$.fn.isOnScreen = function() {
var topView = $(window).scrollTop();
var botView = topView + $(window).height();
var topElement = this.offset().top;
var botElement = topElement + this.height();
return ((botElement <= botView) && (topElement >= topView));
}
})(jQuery);
添加此代碼後,你可以調用$('#yourElementId').isOnScreen()
如果整個元素在屏幕上將返回true
,如果不是,則返回false
。
您也可以玩弄它一下,所以它會返回true
如果至少元件的四分之一是在屏幕上可見,例如像這樣:
(function ($) {
$.fn.isOnScreen = function() {
var topView = $(window).scrollTop();
var botView = topView + $(window).height();
var topElement = this.offset().top;
var botElement = topElement + (this.height()/4); //<---
return ((botElement <= botView) && (topElement >= topView));
}
})(jQuery);
相關問題
- 1. 確定iframe中的元素是否在屏幕上可見
- 2. 如何在屏幕上定位元素?
- 3. 確定是否一個iframe是屏幕
- 4. jQuery的:測試是否元素在屏幕上
- 5. 檢查元素是否在屏幕上與斷言,NoSuchElementException發生
- 6. 如何知道html元素是否在屏幕上?
- 7. 如何知道元素是否在屏幕上?
- 8. 如何檢查元素是否在屏幕上
- 9. 屏幕閱讀器是否可以在DIV元素中「鎖定」?
- 10. 移動屏幕上的固定元素
- 11. 確定一個精靈是否在屏幕上或不在cocos2d
- 12. 確定iPhone用戶是否在Safari瀏覽器屏幕上
- 13. Silverlight - 確定UIElement是否在屏幕上可見
- 14. 確定一個視圖是否在屏幕上 - Android
- 15. 確定一個表單是否完全不在屏幕上
- 16. 檢查元素在屏幕(視口)上是否可見一定比例?
- 17. 在屏幕上顯示div元素
- 18. 當元素不在屏幕上時?
- 19. MoveToElement元素剛剛在屏幕上時
- 20. 檢查元素在屏幕上
- 21. 在屏幕上放置一個元素
- 22. 不在屏幕上時丟失元素
- 23. 使用GetSystemMetrics如何確定屏幕是否是觸摸屏
- 24. 在屏幕中心定位div元素
- 25. 確定是否元素存在
- 26. 確定元素是否在邊界內?
- 27. 確定元素是否存在
- 28. 測試在JQuery的元素是否在屏幕
- 29. Java圖形元素在屏幕上的確切位置?
- 30. 我如何知道元素是否在屏幕的低20%?
這已經回答了很多很多次之前。你問它,然後在一分鐘內回答。爲什麼? – 2014-10-27 15:36:59
@DeeMac我正在尋找這樣的問題,並沒有找到解決方案。我已經發布了這個問題馬上回答。 (回答你自己的問題功能) – Dropout 2014-10-27 15:38:13
可能重複[檢查元素是否可見後滾動](http://stackoverflow.com/questions/487073/check-if-element-is-visible-after-scrolling) – MaxiWheat 2014-10-27 16:01:23