1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue实现页面加载动画代码教程

vue实现页面加载动画代码教程

时间:2018-12-16 13:13:21

相关推荐

vue实现页面加载动画代码教程

web前端|js教程

代码,动画,加载

web前端-js教程

我们经常看到数据未出现时,页面中会有一条提示消息, 页面正在加载中,如何实现该效果呢 ,本文主要为大家详细介绍了vue实现页面加载动画效果,vue页面出现正在加载的初始页面与实现动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。

网站地址生成器源码,ubuntu运存不够,tomcat启动连不上网页,乐高编程爬虫,php工作没有项目怎么办,深圳 seo 优化lzw

请看下面代码

diamond 源码 下载,ubuntu如何查询ssh,单机tomcat最高并发量,爬虫匹配字符,php如何删除增加信息,兰亭seolzw

视频素材类网站源码,CPU核心数ubuntu,眼睛爬虫子新闻,php 金币字段,SEO优化宝贝lzw

<section v-if="option" :style="{background: option.background,color: option.color||#fff}" :class="{page-before: option.index currentPage, page-current: option.index === currentPage}">

页面正在渲染中。。。

有木有感觉很简单

下面上点干货,实现页面的动画效果

export default { name: page-controller, props: { pageNum: Number, currentPage: Number, option: { type: Object, default: { arrowsType: animate, navbar: true, highlight: true, loop: true //是否开启滚动循环 } } }, methods: { changePage (index) { this.$emit(changePage, index); } }, computed: { nextIndex () { if (this.currentPage === this.pageNum) { if(this.option.loop){ return 1 }else{ return this.pageNum } } else { return this.currentPage + 1; } }, prevIndex () { if (this.currentPage === 1) { if(this.option.loop){ return this.pageNum }else{ return 1 } } else { return this.currentPage - 1; } } }, created () { if (this.option.navbar === undefined) { this.option.navbar = true; } }, mounted () { let _this = this; let timer = null; let start = 0; // 滚轮处理 function scrollHandler (direction) { // 防止重复触发滚动事件 if (timer != null) { return; } if (direction === down) { _this.changePage(_this.nextIndex); } else { _this.changePage(_this.prevIndex); } timer = setTimeout(function() { clearTimeout(timer); timer = null; }, 300); } // if (Object.hasOwnProperty.call(window,onmousewheel)) { if (Object.hasOwnProperty.call(window,onmousewheel)) { // 监听滚轮事件 window.addEventListener(mousewheel,function (event) { // IE/Opera/Chrome let direction = event.wheelDelta > 0 ? up:down; scrollHandler(direction); },false); } else { window.addEventListener(DOMMouseScroll,function (event) { // Firefox let direction = event.detail > 0 ? up:down; scrollHandler(direction); },false); } // 移动端触摸事件处理 window.addEventListener( ouchstart, function (event) { start = event.touches[0].clientY; }) window.addEventListener( ouchmove, function (event) { event.preventDefault(); }) window.addEventListener( ouchend, function (event) { let spacing = event.changedTouches[0].clientY - start; let direction; if (spacing > 50) { direction = up; scrollHandler(direction); } else if (spacing < -50) { direction = down; scrollHandler(direction); } }) }}.controller { position: fixed; right: 20px; top: 50%; z-index: 99;}.controller ul { transform: translate3d(0,-50%,0); list-style: none; margin: 0; padding: 0;}.controller-item { cursor: pointer; width: 20px; height: 20px; border-radius: 50%; margin-top: 10px; background-color: rgba(255, 255, 255, 0.3); transition: background-color 0.3s ease 0s;}.controller-item:hover { background-color: rgba(255, 255, 255, 0.7);}.controller-item.current { background-color: rgba(255, 255, 255, 1);}.prev-btn,.next-btn { cursor: pointer; display: block; text-align: center; width: 20px; height: 20px; position: fixed; left: 50%; margin-left: -10px; border: 4px solid #fff; background-color: transparent; outline: none;}.prev-btn { top: 80px; transform: rotate(-45deg); border-bottom-color: transparent; border-left-color: transparent;}.next-btn { bottom: 80px; transform: rotate(45deg); border-top-color: transparent; border-left-color: transparent;}.prev-btn.moving { animation: prev-up-down 0.7s linear 0s infinite;}.next-btn.moving { animation: next-up-down 0.7s linear 0s infinite;}@keyframes next-up-down { 0% { transform: translate3d(0,0,0) rotate(45deg); } 25% { transform: translate3d(0,6px,0) rotate(45deg); } 50% { transform: translate3d(0,0,0) rotate(45deg); } 75% { transform: translate3d(0,-6px,0) rotate(45deg); } 100% { transform: translate3d(0,0,0) rotate(45deg); }}@keyframes prev-up-down { 0% { transform: translate3d(0,0,0) rotate(-45deg); } 25% { transform: translate3d(0,-6px,0) rotate(-45deg); } 50% { transform: translate3d(0,0,0) rotate(-45deg); } 75% { transform: translate3d(0,6px,0) rotate(-45deg); } 100% { transform: translate3d(0,0,0) rotate(-45deg); }}

页面加载时触发的事件及顺序

php简单计算页面加载时间

HTML页面加载速度加快的介绍

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。