1

可能重复:
如何判断 DOM 元素在当前视口中是否可见?

有一个 HTML 页面,其中只有一个 div 和一个图像。

您如何检测该元素是否正在被查看/它是否在浏览器窗口中?

4

2 回答 2

3

如果我理解正确,您想知道图像是否在视口中并且尚未滚动。在这种情况下,您需要获取视口和图像高度,获取图像的位置和文档的当前位置。如果您使用的是 jquery(我假设来自标签),您可以这样做:

var viewportHeight = $(window).height();
var imageOffset = $('img:first').offset().top;
var imageHeight = $('img:first').height;
var documentPosition = $(window).scrollTop();

var visibleArea = documentPosition + viewportHeight; //end of visible area
var imageArea = imageOffset + imageHeight;

if (documentPosition <= imageOffset && visibleArea >= imageArea) {
  //image is entirely visible
}
于 2012-08-04T20:31:20.560 回答
0

你可以试试Element ‘in view’ Event Plugin

于 2012-08-04T20:25:42.163 回答