javascript - 确定 HTML 元素是否在视口(viewport)中的最有效方法?

标签 javascript prototypejs

我目前正在使用原型(prototype),其中包含一些代码,例如:

function in_viewport(foo) {
  var offset = foo.viewportOffset().top;
  var viewportHeight = document.viewport.getHeight();
  if (offset > (0 - foo.getHeight()) && offset < viewportHeight) {
    return true;
  } else {
    return false;
  }
}

有更快/更简单/更高效/更好的方法吗?

最佳答案

通过 Dojo 等各种 JavaScript 库,您可以获得非常具体且跨浏览器兼容的代码,您可以使用它们来执行此操作。它看起来仍然不会比你那里的漂亮多少。如果您从头开始,它会变得更加复杂,因为您有浏览器怪癖、浏览器版本怪癖、必须处理滚动等。

关于javascript - 确定 HTML 元素是否在视口(viewport)中的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/749481/

相关文章:

javascript - 无法在 JavaScript 函数中传递字符串值

javascript - HTML5 从多个部分播放电影而不闪屏

javascript - 使用 PrototypeJS 报告 Ajax 错误

javascript - 基于轻量级原型(prototype)的 float /可调整大小的弹出窗口

javascript - 原型(prototype)中的 jQuery.active($.active) 相当于什么

javascript - ".at()"在 JavaScript 中有何用途?它在普通 JavaScript(浏览器 JavaScript)中是否有效?

javascript - 如何生成 if 语句的所有可能结果?

javascript - Javascript 中的字符串取消转义

javascript - 我如何使用 Javascript 获取所有子项(即子项的子项)?

javascript - jQuery closest 函数的原型(prototype)等价物