用Vue写backToTop指令
来源:互联网 发布:淘宝退货官方寄快递 编辑:程序博客网 时间:2024/06/06 00:48
用Vue写backToTop指令
指令是Vue框架中非常有用,目前正在学习当中。
以下是参照教程写的返回顶部backToTop指令,具有以下功能。
- 点击按钮后可以返回顶部。
- 当滚动到一定位置后出消失与隐藏。
还有待改进的地方。
- 代码中有2句是重复的。
未写到一个.vue文件中,复用性不高。
以上两点努力在以后的学习中实现。
话不多说,直接上代码。
代码块
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/vue"></script> <title>Document</title> <style> body{ height: 1500px; background: #ccc; } .go-top{ width: 30px; height: 30px; line-height:30px; border-radius: 50%; background: rgb(37, 148, 133); position: fixed; right: 30px; bottom: 30px; opacity: 0; transition: all ease 1s; -webkit-transition: all ease 1s; text-align: center; color: #fff; cursor: pointer; } .active{ opacity: 1; } </style></head><body> <div id="demo"> <div class="test" v-scroll="showTop"> <div @click="gotop" class="go-top" :class="goTop?'active':''">^</div> </div> </div> <script> Vue.directive('scroll',{ bind:function(el,binding){ window.addEventListener('scroll',()=>{ let fnc = binding.value; fnc(el); }) } }) var vm = new Vue({ el: "#demo", data:{ goTop: false, scrollTop: "" }, methods:{ gotop: function(){ let speed = 10; let timer = setInterval(function(){ this.scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; if(this.scrollTop>0){ this.scrollTop = (this.scrollTop - speed >0) ? (this.scrollTop - speed) : 0; speed += 20; window.scrollTo(0,this.scrollTop); }else{ clearInterval(timer); } },16) }, showTop: function(){ this.scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; if(this.scrollTop>200){ this.goTop = true; }else{ this.goTop = false; } } } }) </script></body></html>
代码不好的地方,烦请各位指点。谢谢先。
阅读全文
0 0
- 用Vue写backToTop指令
- vue 指令
- 用Vue实现一个全选指令
- 用Vue实现一个全选指令
- vue自定义指令-vue-reclick
- 自己写个vue.js插件(1):自定义指令的妙用
- 自己写个vue.js插件(1):自定义指令的妙用
- vue中的指令
- vue 自定义指令
- Vue iscroll指令开发
- Vue自定义指令-拖拽
- Vue的简单指令
- Vue- v-html指令
- 02.vue常用指令
- Vue.js--自定义指令
- Vue自定义指令
- vue笔记----指令bind
- vue笔记----指令for
- HOG+LBP+Haar
- 我的第一篇博客————从TI创新实验室开始
- 【oracle无法远程连接】oracle设置允许远程连接
- IndicateProgressBar 带指示器的ProgressBar进度条
- JAVA多线程有哪几种实现方式?
- 用Vue写backToTop指令
- Spring MVC 使用SQL进行模糊查询
- 酷科技 | 智能冰敷头带
- 小蓝单车倒闭了?盘点共享单车众生相:跑路、罢免CEO、卖公司……
- Linux netstat命令详解
- 理解get和post的区别
- 多线程与信号
- 源码分析参考:Connection
- 技术分享连载(四十七)