提供时间精确的,流畅的页面缓动回到顶部效果(Demo)。
/** * Scroll to top. * @param {number} duration Duration of the animation */ function scrollToTop(duration = 750) { // More easeing-function: https://github.com/cferdinandi/smooth-scroll let easeingFunction = t => t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1; let originScrollY = pageYOffset; let originScrollX = pageXOffset; // Keep abscissa let originTime = Date.now(); let passedTime = 0; let _scrollToTop = () => { if (passedTime < duration) { passedTime = Date.now() - originTime; requestAnimationFrame(_scrollToTop); scrollTo(originScrollX, originScrollY * (1 - easeingFunction(passedTime / duration))); } }; _scrollToTop(); }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/54729.html
提供时间精确的,流畅的页面缓动回到顶部效果(Demo)。 /** * Scroll to top. * @param {number} duration Duration of the animation */ function scrollToTop(duration = 750) { // More easeing-function: https://githu...
摘要:在浏览器中,页面默认滚动是在标签上,移动端大多数在标签上,在我们想要实现平滑回到顶部,只需在这两个标签上都加上准确的说,写在容器元素上,可以让容器非鼠标手势触发的滚动变得平滑,而不局限于,标签。 前言 在实际应用中,经常用到滚动到页面顶部或某个位置,一般简单用锚点处理或用js将document.body.scrollTop设置为0,结果是页面一闪而过滚到指定位置,不是特别友好。我们想要...
摘要:在浏览器中,页面默认滚动是在标签上,移动端大多数在标签上,在我们想要实现平滑回到顶部,只需在这两个标签上都加上准确的说,写在容器元素上,可以让容器非鼠标手势触发的滚动变得平滑,而不局限于,标签。 前言 在实际应用中,经常用到滚动到页面顶部或某个位置,一般简单用锚点处理或用js将document.body.scrollTop设置为0,结果是页面一闪而过滚到指定位置,不是特别友好。我们想要...
摘要:备注没整理格式,抱歉动画实现的几种方式性能排序实现方式自身调用调用的定时器值推荐最小使用的原因即每秒帧为什么倒计时动画一定要用而避免使用两者区别及引发的线程讨论线程讨论为什么单线程是的一大特性。 备注:没整理格式,抱歉 动画实现的几种方式:性能排序js < requestAnimationFrame 3->4->2. 那么在来看你这段代码。 var t = true; window...
摘要:之前是一个全局变量,如果不独立,页面只有一个定时器在运作。这时的判断条件应该是目标距离与盒子目前距离之间差的绝对值大于等于一步距离绝对值的时候,让他们执行否则的话清除清除定时器,并将最后的距离直接设置为的距离。 showImg(https://segmentfault.com/img/remote/1460000012623412?w=1920&h=1080); JS特效 前言 经过前...
阅读 1241·2021-11-08 13:25
阅读 1439·2021-10-13 09:40
阅读 2772·2021-09-28 09:35
阅读 733·2021-09-23 11:54
阅读 1122·2021-09-02 15:11
阅读 2429·2019-08-30 13:18
阅读 1666·2019-08-30 12:51
阅读 2685·2019-08-29 18:39