(11)页面带动画的返回顶部

本文介绍了如何利用JavaScript实现页面返回顶部并带有缓动动画的效果。通过修改之前封装的缓动函数,将left值替换为页面垂直滚动距离,结合window.pageYOffset获取页面滚动位置,从而实现平滑滚动回到顶部的功能。祝你学习愉快!
摘要由CSDN通过智能技术生成

滚动窗口到文档中的特定位置。window.scroll( x , y)

  1. 带动画的返回顶部则继续使用前面封装的缓动动画函数
  2. 只需要把前面函数里所有left相关的值 改为 页面垂直滚动距离相关就可以了
  3. 页面滚动了多少,可以通过window.pageYOffset得到
  //返回顶部
    var top = document.querySelector('.guding');
    top.addEventListener('click', function() {
        //window.scroll(0, 0);
        //窗口滚动
        animate_1(window, 0);
    })
    //动画函数
    function animate_1(obj, target, callback) {
        // console.log(callback);  callback = function() {}  调用的时候 callback()
    
        // 先清除以前的定时器,只保留当前的一个定时器执行
        clearInterval(obj.timer);
        obj.timer = setInterval(function() {

            var step = (target - window.pageYOffset) / 10;
            
            step = step > 0 ? Math.ceil(step) : Math.floor(step);
            if (window.pageYOffset == target) {
                // 停止动画 本质是停止定时器
                clearInterval(obj.timer);
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

superfortunate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值