在vue项目中通过tween方法如何实现返回顶部

这篇文章主要介绍了vue项目tween方法实现返回顶部,现在分享给大家,也给大家做个参考。

一、场景

tween.js是一款可生成平滑动画效果的js动画库

当你要实现一个返回顶部的功能时候你会怎么做,大部分人会使用document.body.scrollTop =0;这么写就实现了功能,

不过要更加的细腻一点我们不妨用tween的缓动来实现,看看效果如何吧。

立即学习“前端免费学习笔记(深入)”;

之前我们写过tween的相关文章,这里不做介绍了。

二、代码

nbsp;html>                        #app{width: 100%; height: 3000px;background: #CCCCCC;}      .backTop{        width: 1.5rem;        height: 1.5rem;        border: 1px solid #ff0000;        position: fixed;        right: 1rem;        bottom: 2rem;        border-radius: 50%;        /*background: url(/static/imgs/backtop20180226.png) no-repeat 40%;*/        background-size: 70% 100%;      }            

      

Top

             var app = new Vue({ el:"#app", data:{ }, methods:{ backTop(){// * t: current time(当前时间);// * b: beginning value(初始值);// * c: change in value(变化量);// * d: duration(持续时间)。 var Tween = { Linear: function(t, b, c, d) { //匀速运动,想要实现其他的效果可以使用tween的其他方法 return c * t / d + b; } } Math.tween = Tween; var t = 1; const b = document.documentElement.scrollTop; const c = 50; const d = 5; const setInt = setInterval(()=>{ t--; console.log(t) if(document.documentElement.scrollTop == 0){clearInterval(setInt)} console.log(t); const backTop = Tween.Linear(t,b,c,d); console.log(backTop); document.documentElement.scrollTop = backTop; },20) } } })   

登录后复制

三、requestAnimationFrame改写setInterval方法:

methods:{      backTop(){        var Tween = {          Linear: function(t, b, c, d) { //匀速            return c * t / d + b;           }        }        Math.tween = Tween;        var t = 1;        const b = document.body.scrollTop;        const c = 1;        const d = 1;        var timer;        timer= requestAnimationFrame(function fn(){          if(document.body.scrollTop > 0){            t--;            console.log(t)            console.log(t);            const backTop = Tween.Linear(t,b,c,d);             console.log(backTop);            document.body.scrollTop = backTop;            timer = requestAnimationFrame(fn);          }else{            cancelAnimationFrame(timer)          }        })      }    }

登录后复制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

关于vue打包后字体和图片资源失效(详细教程)

React中使用BootStrap用户体验框架(详细教程)

通过网页爬虫中cookie自动获取及过期自动更新(详细教程)

以上就是在vue项目中通过tween方法如何实现返回顶部的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2751300.html

(0)
上一篇 2025年3月8日 05:49:28
下一篇 2025年3月8日 03:14:22

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何处理父组件中vuex方法更新state子组件不能及时更新渲染

    这次给大家带来如何处理父组件中vuex方法更新state子组件不能及时更新渲染,处理父组件中vuex方法更新state子组件不能及时更新渲染的注意事项有哪些,下面就是实战案例,一起来看一下。 场景: 我实际用到的是这样的,我父组件引用子组件…

    2025年3月8日
    200
  • 如何使用vue-cli2.9.3

    这次给大家带来如何使用vue-cli2.9.3,使用vue-cli2.9.3的注意事项有哪些,下面就是实战案例,一起来看一下。 一、安装vue-cli 1.使用npm全局安装vue-cli(前提是你已经安装了nodejs,否则你连npm都用…

    2025年3月8日 编程技术
    200
  • 如何使用Vue中mixin

    这次给大家带来如何使用Vue中mixin,使用Vue中mixin的注意事项有哪些,下面就是实战案例,一起来看一下。   vue中提供了一种混合机制–mixins,用来更高效的实现组件内容的复用。最开始我一度认为这个和组件好像没啥…

    编程技术 2025年3月8日
    200
  • 怎样使用vue计算属性与方法侦听器

    这次给大家带来怎样使用vue计算属性与方法侦听器,使用vue计算属性与方法侦听器的注意事项有哪些,下面就是实战案例,一起来看一下。 计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难…

    2025年3月8日 编程技术
    200
  • 利用JS脚本加载后如何实现能执行相应回调函数

    本文主要讲解怎么在成功加载 js 文件后再执行相应回调任务,对js脚本加载后执行相应回调函数的操作方法感兴趣的朋友,通过本文学习下吧 项目中经常会遇到这样的问题:当某个 js 脚本加载完成后再执行相应任务,但很多朋友可能并不知道怎么判断我们…

    编程技术 2025年3月8日
    200
  • 在vue中如何实现自定义全局方法

    下面我就为大家介绍一下vue 自定义全局方法,在组件里面的使用。具有很好的参考价值,希望对大家有所帮助。 在main.js里进行全局注册 Vue.prototype.funcName = function (){} 登录后复制 在所有组件里…

    编程技术 2025年3月8日
    200
  • 在Vue组件中如何使用 TypeScript的方法(详细教程)

    typescript不仅可以约束我们的编码习惯,还能起到注释的作用,当我们看到一函数后我们立马就能知道这个函数的用法。这篇文章主要介绍了在vue组件中使用 typescript的方法,需要的朋友可以参考下 注意:此文并不是把vue改为全部替…

    2025年3月8日 编程技术
    200
  • js 数组操作与解析方法汇总

    这次给大家带来js 数组操作与解析方法汇总,js数组操作与解析的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总结,很多时候…

    编程技术 2025年3月8日
    200
  • 维护JS代码的三种方法

    这次给大家带来维护JS代码的三种方法,维护JS代码的注意事项有哪些,下面就是实战案例,一起来看一下。 维护。在其他语言中,考虑将已存在的对象作为库用来完成开发任务。在JS中,我们可以将已存在的对象视为一种背景,在这之上可以做任何事情。你应该…

    编程技术 2025年3月8日
    200
  • 如何访问JS的对象属性与方法

    这次给大家带来如何访问JS的对象属性与方法,访问JS对象属性与方法的注意事项有哪些,下面就是实战案例,一起来看一下。 定义一个对象,然后用点运算符(.)来访问属性和方法。今天突然看见还有另外一种方法中括号运算符([]),就认真看了下。 va…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论