扫码关注官方订阅号
网上找不到一个好的介绍来实现,
$('html, body').animate({ scrollTop: 800 }, 1000)
怎么控制这个scrollTop的 时间呢?
欢迎选择我的课程,让我们一起见证您的进步~~
你要做的不是控制时间,而是控制步长,比如800px,800ms,就是800ms内移动800px,如果是1600px,那就800ms内移动1600px
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> html{ height : 200%; } #position{ width : 100px; height : 100px; position: absolute; top : 100%; left: 80%; background: red; } </style> <body > <p id="position"></p> </body> <script> (()=>{ let pos = document.getElementById('position'); pos.onclick = ()=>{ let curr_top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; let time_id = setInterval(()=>{ curr_top -= 10; document.body.scollTop = curr_top; document.documentElement.scrollTop = curr_top; if(curr_top <= 0){ clearInterval(time_id); } } , 100); } })() </script> </html>
666,竟然用ES6
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你要做的不是控制时间,而是控制步长,比如800px,800ms,就是800ms内移动800px,如果是1600px,那就800ms内移动1600px
666,竟然用ES6