前端js页面滚动(scroll)电梯导航+顶部返回按钮+滚动后盒子出现且固定

本文介绍了如何使用JavaScript控制页面滚动,包括scrollTop和offsetTop的用法,实现滚动后的元素定位,电梯导航效果(滑动显示/隐藏和高亮切换),以及利用自定义属性和模板字符串进行大盒子滚动定位。同时提到了平滑滚动的CSS设置。
摘要由CSDN通过智能技术生成

scrollTop   页面滚动的长度

offsetTop  盒子距离顶部的位置

返回顶部按钮:两种写法1.document.documentElement.scrollTop=0

                                        2.window.scrollTo(0,0)

滚动后盒子出现且固定:n=document.documentElement.scrollTop,if (n>offsetTop)header.style.top=0

                                                        else .top=-88

电梯导航:1.页面滑动显示和隐藏

                        n>offsetTop  opacity=1

                               else         opacity=0

                   2.点击li有高亮,但滑动后初始li没有高亮,点击才有。所以在HTML中没有active这个类,这样的话排他思想就会报错,因为获取不到active这个类。故给将获取=old

if (old)old.classList.remove(active)

有这个类active,则执行移除;没有则old为Null,移除不执行。

                     3.点击li,触发父盒子的点击事件。点击li,相应的大盒子跳转到当前页面。

                        根据小盒子的自定义属性去选择对应的大盒子

                                利用模板字符串实现拼接。`.xtx_goods-&{e.target.dataset.name}`

                        令大盒子的scrollTop=offsetTop,即让大盒子滚动相应位置的长度到达顶部。

                     4.最后一个li若为返回顶部栏,则不需高亮和跳转大盒子。

                        故需要给if(e.target.tagName==="a"   &&    e.target.dataset.name )加上 e.target.dataset.name的限定,使得最后一个小li被筛选出来。

                        5.将跳转换成平滑,css中给html{scroll-behavior:smooth}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值