我有一个包含4个div的网站,所有div都高度为100vh,可以填充整个视图高度和视图宽度。但我似乎无法弄清楚我已导航到的div部分。有没有办法可以使用
$(this).scrollTop()
找出我目前正在查看的视图或div?我知道这个问题很混乱,但如果你明白我的意思,我真的需要你的帮助。
答案 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。