继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

监听 scroll 使元素产生吸顶效果

潇潇雨雨
关注TA
已关注
手记 165
粉丝 25
获赞 128

一、判断滚动像素值

1.1 window.scrollY(别名:pageYOffset)

返回文档在垂直方向已滚动的像素值。为了跨浏览器兼容,请使用 window.pageYOffset 代替 window.scrollY

1.2 Element.scrollTop

获取或设置一个元素的内容垂直滚动的像素数。

二、监听滚动事件

document 视图或者一个 element 在滚动的时候,会触发元素的 scroll 事件。

三、示例

// 监听window.addEventListener('scroll', handleScroll)// 事件处理function handleScroll () {    let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop    if (scrollTop > 92) {        // 改变需要吸顶的元素样式为 position: fixed;...
    }
}

如有必要(例如 Vue 组件销毁时)需要删除监听事件 window.removeEventListener('scroll', handleScroll)

四、sticky

粘性定位元素(stickily positioned element)在屏幕范围(viewport)时该元素的位置并不受到定位影响(设置是 topleft 等属性无效),当该元素的位置将要移出偏移范围时,定位又会变成fixed,根据设置的 lefttop 等属性成固定位置的效果。

position: sticky;
top: 50px;

目前这个属性兼容性不是很好,暂不建议在生产环境中使用(2018年09月12日16:54:54)。



作者:后除
链接:https://www.jianshu.com/p/9a9540c0210e


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP