如何识别我滚动到的视图div部分?

时间:2017-03-14 09:49:19

标签: javascript jquery html css

我有一个包含4个div的网站,所有div都高度为100vh,可以填充整个视图高度和视图宽度。但我似乎无法弄清楚我已导航到的div部分。有没有办法可以使用

$(this).scrollTop()

找出我目前正在查看的视图或div?我知道这个问题很混乱,但如果你明白我的意思,我真的需要你的帮助。

2 个答案:

答案 0 :(得分:2)

基本上,在您的情况下,您必须知道您滚动页面的数量。

var scrolledY = window.scrollY || window.pageYOffset || document.documentElement.scrollTop;

之后,只要您的div的高度为100vh,它就与window.innerHeight相同。因此,您可以计算滚动到的div的索引:

var divIdx = Math.floor(scrolledY / vh);

现在,所有人:http://jsbin.com/qepodojoqa/edit?html,css,js,console,output

答案 1 :(得分:0)

您需要将事件绑定到scroll并检查是否滚动了div的顶部偏移量。

$(document).scrollTop()

为您提供当前的顶部滚动条,

element.offsetTop

给出div与顶部的偏移量(即,在这种情况下,它的父节点顶部和顶部之间的距离,主体)。

根据您的需要,请注意other ways to detect the top scroll