在进行网页设计的时候,有一个需求就是在网页滚动到指定位置时执行特定的操作,这时候就需要用到滚动监听.
scrollTop
JavaScript 的原生方法,获取滚动距离:
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
console.log("滚动距离" + scrollTop);
为保证兼容性.使用document.documentElement.scrollTop || document.body.scrollTop
ScrollWatch
使用ScrollWatch插件来实现指定位置的滚动监听.
当需要监听的元素进入视野时,会给元素添加scroll-watch-in-view 的 class, 元素离开视野时添加 scroll-watch-ignore class.
在需要监听的元素上添加data-scroll-watch属性,并进行初始化:
var sw = new ScrollWatch({
watchOnce: false,
infiniteScroll: false,
// infiniteOffset: 50,
inViewClass: 'fadeInUp',
onElementInView: function(data) {
console.log(data.el, '...is now in view');
data.el.classList.add("");
}
});
- watchonce:监听一次,如果设置为 true,则每次 inview 都会触发;
- inviewClass: 进入视野时要添加的类;
- onElementInView:进入视野时的回调函数.