一、场景
tween.js是一款可生成平滑动画效果的js动画库
当你要实现一个返回顶部的功能时候你会怎么做,大部分人会使用document.body.scrollTop =0;这么写就实现了功能,
不过要更加的细腻一点我们不妨用tween的缓动来实现,看看效果如何吧。
之前我们写过tween的相关文章,这里不做介绍了。
二、代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="https://cdn.jsdelivr.net/npm/vue"></script> <style type="text/css"> #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%; } </style> </head> <body> <div id="app"> <div @click="backTop()" class="backTop">Top</div> </div> <script type="text/javascript"> 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) } } }) </script> </body> </html>
三、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) } }) } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍javascript返回顶部的按钮实现方法,包括了javascript返回顶部的按钮实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例介绍了javascript返回顶部的按钮实现方法,分享给大家供大家参考,具体内容如下 html: css: script: 获取滚动条高度:document.documentElement.scrollTop || document.body.
本文向大家介绍jQuery实现返回顶部效果的方法,包括了jQuery实现返回顶部效果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现返回顶部效果的方法。分享给大家供大家参考。具体实现方法如下: 1、首先是CSS样式: 2、接着是jquery代码:(要引入jQuery核心库) 3、引用页面: 希望本文所述对大家的jQuery程序设计有所帮助。
本文向大家介绍Android点击按钮返回顶部实现代码,包括了Android点击按钮返回顶部实现代码的使用技巧和注意事项,需要的朋友参考一下 点击按钮返回顶部,直接上代码吧 布局文件 按钮点击事件 附带一个跳到底部 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍jquery 实现返回顶部功能,包括了jquery 实现返回顶部功能的使用技巧和注意事项,需要的朋友参考一下 今天搞了一个回到顶部的JS JQ功能,废话不多说,有图有真相! 代码很简单,各位直接拿去,放在自己项目中即可,如有bug请给我留言,共同完善 方法二: 主要参数: scrollName: 'scrollUp', // Element ID topDistance: '300'
本文向大家介绍Go实现短url项目的方法示例,包括了Go实现短url项目的方法示例的使用技巧和注意事项,需要的朋友参考一下 首先说一下这种业务的应用场景: 1.把一个长url转换为一个短url网址 2.主要用于微博,二维码,等有字数限制的场景 主要实现的功能分析: 1.把长url的地址转换为短url地址 2.通过短url获取对应的原始长url地址 3.相同长url地址是否需要同样的短url地址 这
本文向大家介绍android中LinearLayoutManager一键返回顶部示例,包括了android中LinearLayoutManager一键返回顶部示例的使用技巧和注意事项,需要的朋友参考一下 之前在学习RecyclerView的时候,建立了一个可以滑动的View列表,但是当滑动距离过长的时候,需要手动返回到顶部,于是加了一个一键返回顶部的按钮。 效果图 要实现这种效果,有两点需要实现: