代码之家  ›  专栏  ›  技术社区  ›  clee nortron

确定HTML元素是否在视区中的最有效方法?

  •  1
  • clee nortron  · 技术社区  · 15 年前

    我目前正在使用原型,代码如下:

    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;
      }
    }
    

    有没有更快、更容易、更高效、更好的方法?

    1 回复  |  直到 12 年前
        1
  •  1
  •   Bjorn    15 年前

    使用Dojo这样的各种JavaScript库,您可以获得非常具体的、跨浏览器兼容的代码,您可以使用这些代码来完成这项工作。它看起来仍然不会比你那里的漂亮多了。如果你从头开始做,它会变得更复杂,因为你有浏览器的怪癖,浏览器版本怪癖,必须处理滚动等。