我想制作一个滚动到对应锚链接位置,然后设置菜单颜色的功能.
但是如何判断当前滚动到了哪个锚链接呢?
其实问题就是滚动侦测的原理是什么?
$(window).scroll(function(){
// 获取视口高度
windowHeight = $(window).height();
// 获取当前文档的scrollTop
windowScrollPosition = $(window).scrollTop();
// scrollTop + 视口高度
bottomScrollPosition = windowHeight + windowScrollPosition;
// 获取没有隐藏的元素对其执行函数
// 如果当前元素的offsettop + 80 小于
if(bottomScrollPosition > $('.skill-list').offset().top + 80){
// 页面元素以及滚动到可见位置,做一些什么吧
}
});
其他类型的元素都可以用这种方式
鼠标滚动的时候, 获取滚动条位置(a), 并且和某元素的offset().top (b)做对比 当b>=a时, 表示某元素已经滚动到浏览器最顶部