js控制页面滚动(实例)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js控制页面滚动(实例)相关的知识,希望对你有一定的参考价值。
参考技术A 目标描述:多个图片排列下来,按右边的小按钮,抵达相应位置,鼠标滑动,抵达下一图,或者上一图知识点:onmousewheel,addEventListener,scrollTo,setTimeout
过程:
1.body 宽,高钉死,100vw,100vh,overflow:hidden 使得不出现滚动条,不然不好看
2.图片放进去,排起来,(注意:默认空隙的处理,可以使用flex布局,空隙就不见了)
3.制作相对于视窗的按钮,几张图片就几个按钮,(position: fixed;计算一下高度,可以利用calc计算top使得上下居中)
4.美化一下,css写写
5.先写简单的按钮事件
6.写监听滑动事件(onmousewheel在火狐无效,DOMMouseScroll只在火狐有效)
react在componentDidMount的时候监听
7.补充写一下火狐的
9.测试检查一下。
完成啦,啦啦啦~
我的截图:
缺点:这里我是一直对页面进行监听,导致滑动过快对时候动画效果开始执行对时间延后。体现为滑动对轻,整个就流畅一点。
ps:写这种带计算带页面,我觉得是考验思维的,你可以对这里的知识点不熟练,但是你必须得能理解每一步的加加减减。
js怎么控制网页滚动到指定位置
使用scrollby(x轴,y轴)方法就可以使文档对象滚动到距离浏览器窗口坐标的指定位置上
注意事项
文档对象可以看做是网页所有可见内容的存储容器,网页所有可见内容称为页面
网页x轴坐标与数学一样,但是y轴坐标是相反的,向下是正数,向上是负数
页面移动出去的距离不能和滚动条移动出去的距离对等
滚动条移动出去多少像素才能等达到页面要移动出去的像素是根据整个页面的尺寸比例计算的
这个文档对象移动出去的距离在坐标系上是一定是负数,但是我们要用正数来表示他距离浏览器窗口0,0坐标的距离
这个方法移动的是文档对象和浏览器存储文档对象的窗口0,0位置坐标的距离,绝不是滚动条和文档对象的距离,
移动出去的距离就是文档对象不可见部分内容和浏览器存储文档对象的窗口0,0坐标的距离
这个方法使用scroll命名只是因为文档对象移动出去的距离需要滚动条滚动才能达到效果,便于记忆而已
scrollby()方法是window对象下的方法,document对象及其子对象没有该方法
document对象及其子对象如果要获取或设置元素内部内容滚动出去的距离,请使用scrollTop和scrollLeft, 注意该方法是计算的不可见部分移动出去的内容顶端距离容器的距离是从容器内边距开始计算,而不是边框
使用scrollby()必须存在滚动条,且有一定的高度才能看出方法的效果
scrollTo(0,0)
滚动到页面的0,0位置(不管现在在哪)
其中两个零分别是宽度和高度,可以更改,单位是px,如果都是0的话就是滚动到开始
代码:
scrollBy(0,0)
在现在的基础上滚动0,0
两个零分别是宽度和高度,可以更改,单位是px本回答被提问者采纳
以上是关于js控制页面滚动(实例)的主要内容,如果未能解决你的问题,请参考以下文章
求助:如果使用js\jq 控制一个div 当滚动到页面顶部的时候固定在顶部,离开可继续滚动