如何获取当前可视页面元素的ID

一个页面有许多张带有ID的图片,如何才能判断当前图片的ID

本来想用mouseover() 方法,但是如果用户使用↓键或者拖动滚动条则不会触发

阅读 5.7k
2 个回答

需要具体看你网页的情况。比如说灯箱,如果是当前图片的话我都会习惯加一个class,比如active什么的。那么通过这个class你就可以定位到这个DOM然后获取到它的ID啦。

我说个思路,首先可视区域是可以计算的

// 伪代码
top = window.scrollTop
bottom = window.scrollTop + window.height

假设所有图片的position都是固定的(如果页面里有些元素要display none之类的就会影响其它元素的position,这里假设简单的情况)

遍历所有的图片,计算出它们的position,放在一个数组里

listen window onScroll事件,每次拿postion数组跟可视范围对比就可以知道哪些图片在可视范围内了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题