JavaScript控制滚动条滚动到指定位置

1.打开一个网址,F12,定位到我们想到滚动的位置

比如定位到翻页的位置,我们可以取到翻页div的class=page-inner

2.在Consle输入滚动效果的Js代码:

复制代码
 1 function elementPosition(obj) {
 2     var curleft = 0, curtop = 0;
 3     if (obj.offsetParent) {
 4         curleft = obj.offsetLeft;
 5         curtop = obj.offsetTop;
 6         while (obj = obj.offsetParent) {
 7             curleft += obj.offsetLeft;
 8             curtop += obj.offsetTop;
 9         }
10     }
11     return { x: curleft, y: curtop };
12 }
13 
14 var repeatCount = 0;
15 var cTimeout;
16 var timeoutIntervals = new Array();
17 var timeoutIntervalSpeed;
18 function ScrollSmoothly(scrollPos, repeatTimes) {
19     if (repeatCount < repeatTimes) {
20         window.scrollBy(0, 50);
21     }
22     else {
23         repeatCount = 0;
24         clearTimeout(cTimeout);
25         return;
26     }
27     repeatCount++;
28     cTimeout = setTimeout("ScrollSmoothly('" + scrollPos + "','" + repeatTimes + "')", 10);
29 }
30 
31 function ScrollToControl(classname) {
32     var elem = document.getElementsByClassName(classname)[0];
33     var scrollPos = elementPosition(elem).y - 200; //部分页面存在固定的Head部分
34     scrollPos = scrollPos - document.documentElement.scrollTop;
35     var remainder = scrollPos % 50;
36     var repeatTimes = (scrollPos - remainder) / 50;
37     ScrollSmoothly(scrollPos, repeatTimes);
38     window.scrollBy(0, remainder);
39 }
40 
41 ScrollToControl("page-inner");
复制代码

3.执行,效果如下:

 

posted @   新*  阅读(8436)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示