当前位置: 首页 > Web前端 > vue.js

写的PC动画效果animate+vue

时间:2023-04-01 01:15:50 vue.js

下载npminstallanimate.css--saveimportimportanimatedfrom'animate.css'Vue.use(animated)//css.animated{-webkit-animation-duration:1s;动画持续时间:1s;-webkit-动画-填充模式:两者;animation-fill-mode:both;}//fadeInUp是animate动画库的名字根据自己的需要。fadeInUp{-webkit-动画名称:fadeInUp;animation-name:fadeInUp;}效果首页滚动全部元素fadeInUp代码window.addEventListener("scroll",this.handleScroll,true);animatedScroll(){//当滚动到指定位置时,触发动画let_this=this;_this.dataListRef.forEach((r,i)=>{_this.gdjz(r.ref,20,()=>{if(this.$refs[r.ref][0]){_this.$refs[r.ref][0].style.display="flex";}else{_this.$refs[r.ref].style.display="flex";}});});},gdjz(div,offset,callback){让dom;如果(this.$refs[div][0]){dom=this.$refs[div][0];}else{dom=this.$refs[div];}if(dom){变量b,c,d;d=dom.parentNode.offsetTop;//元素距离相对于父级高度,这里的父级是指bodyb=window.pageYOffset||客户身高;//获取浏览器可视区域的高度if(b+c>d){callback&&callback();}}},字段说明_this.dataListRef是所有需要动画的元素注意动画(fadeInUp)比需要先隐藏再显示才会有效果。搬砖的时候发现隐藏元素无法获取offsetTop。所以在写样式的时候需要注意给每一个动画元素添加一个父框,以站在一个好的位置。