当前位置: 首页 > news >正文

网页制作手机软件下载/文山seo

网页制作手机软件下载,文山seo,重庆游戏网站开发公司,女人被做网站一、实现动画过渡效果的几种方式 实现动画必须要将要进行动画的元素利用<transition>标签进行包裹 1、利用CSS样式实现过渡效果 <transition name"fade"></transition> v-enter: 定义进入过渡的开始状态。在元素被插入时生效&#xff0c;在下一个帧…

 

一、实现动画过渡效果的几种方式

实现动画必须要将要进行动画的元素利用<transition>标签进行包裹

1、利用CSS样式实现过渡效果

 <transition name="fade"></transition>

  1. v-enter: 定义进入过渡的开始状态。在元素被插入时生效,在下一个帧移除。

  2. v-enter-active: 定义进入过渡的结束状态。在元素被插入时生效,在 transition/animation 完成之后移除。

  3. v-leave: 定义离开过渡的开始状态。在离开过渡被触发时生效,在下一个帧移除。

  4. v-leave-active: 定义离开过渡的结束状态。在离开过渡被触发时生效,在 transition/animation 完成之后

 

通过name的名称进行重命名,在样式文件中进行.fade-enter-active设置动画的效果即transition属性,需要注意的是动画结束后样式将会移除,所以如果想要动画实现之后元素保持有某个样式,则需要transition标签里面的元素的样式表中进行设置,此情况是针对元需要通过改变元素的属性来显示元素,如定位top,left以及通过transform将显示的元素的位置改变从而让元素出现在当前的视图窗口中时,但是如果元素v-show为true之后元素已经在视图中央显示了,不需要位置的移动将元素移动到视图中,只是想要显示的时候显示有动画效果的,则直接将动画结束的属性设置在v-enter-active/v-leave-active中即可。也就是说动画的属性如果只是产生效果,不对元素的任何属性进行修改,也就是动画中的属性样式不需要永久添加到dom元素中,则直接按后者的方式定义,如果说动画的属性同时相对元素进行样式设计,属性样式需要被添加到dom元素上,则需要按照前者的方式。

复制代码
<transition name="fold"><div class="shopcart-list" v-show="listShow"><div class="list-header"><h1 class="title">购物车</h1><span class="empty" @click="empty">清空</span></div><div class="list-content" ref="list"><ul><li class="food border-1px" v-for="(food,index) in selectFoods" v-show="food.count>0"><span class="name">{{selectName[index]}}</span><div class="price"><span>¥{{food.price*food.count}}</span></div><div class="cartcontrol-wrapper"><v-cartcontrol :food="food"></v-cartcontrol></div></li></ul></div></div></transition>
复制代码
复制代码
 .fold-enter-active,.fold-leave-activetransition:all 0.5s.fold-enter,.fold-leavetransform :translate3d(0,0,0).shopcart-listposition:absolutetransform:translate3d(0,-100%,0)//动画结束后的效果需要在此处进行设置,设置在.fold-enter-active中,元素动画结束后该样式属性会被移除掉,将会看不到想要的效果top: 100%//元素即使显示也不再视图窗口中,通过transform实现显示z-index:-1width:100%
复制代码

2、利用animation或者是动画库实现动画效果

<div id="example-2"><button @click="show = !show">Toggle show</button><transition name="bounce"><p v-if="show">Look at me!</p></transition>
</div>
new Vue({el: '#example-2',data: {show: true}
})
复制代码
.bounce-enter-active {animation: bounce-in 0.5s linear;
}
.bounce-leave-active {animation: bounce-out 0.5s linear;
}
@keyframes bounce-in {0% {transform: scale(0);}50% {transform: scale(1.5);}100% {transform: scale(1);}
}
@keyframes bounce-out {0% {transform: scale(1);}50% {transform: scale(1.5);}100% {transform: scale(0);}
}
复制代码

3、自定义过度类名

  • enter-class
  • enter-active-class
  • leave-class
  • leave-active-class

 他们的优先级高于普通的类名,这对于 Vue 的过渡系统和其他第三方 CSS 动画库,如 Animate.css 结合使用十分有用。

1
2
3
4
5
6
7
8
9
10
11
12
13
<link href="https://unpkg.com/animate.css@3.5.1/animate.min.css" rel="stylesheet" type="text/css">
<div id="example-3">
  <button @click="show = !show">
    Toggle render
  </button>
  <transition
    name="custom-classes-transition"
    enter-active-class="animated tada"
    leave-active-class="animated bounceOutRight"
  >
    <p v-if="show">hello</p>
  </transition>
</div>
new Vue({el: '#example-3',data: {show: true}
})

可以在样式中同时使用transition和animation

4、利用JavaScript钩子函数实现过渡效果

复制代码
<transitionv-on:before-enter="beforeEnter"v-on:enter="enter"v-on:after-enter="afterEnter"v-on:enter-cancelled="enterCancelled"v-on:before-leave="beforeLeave"v-on:leave="leave"v-on:after-leave="afterLeave"v-on:leave-cancelled="leaveCancelled"
><!-- ... -->
</transition>
复制代码
复制代码
methods: {// --------// 进入中// --------beforeEnter: function (el) {// ...},// 此回调函数是可选项的设置// 与 CSS 结合时使用enter: function (el, done) {// ...done()},afterEnter: function (el) {// ...},enterCancelled: function (el) {// ...},// --------// 离开时// --------beforeLeave: function (el) {// ...},// 此回调函数是可选项的设置// 与 CSS 结合时使用leave: function (el, done) {// ...done()},afterLeave: function (el) {// ...},// leaveCancelled 只用于 v-show 中leaveCancelled: function (el) {// ...}
}
复制代码

在使用钩子函数实现动画的时候注意dom的异步刷新,需要结合this.$nextTick(),同时在leave和enter中设置样式前最好迫使dom进行回流(reflow)使dom重新渲染,如获取元素的offsetHeight等,然后在this.$nextTick()中设置新的样式,不然又可能实现不了动画的效果

分类: vue

转载于:https://www.cnblogs.com/libin-1/p/6901688.html

http://www.lbrq.cn/news/786277.html

相关文章:

  • 户外保险网站/seo 优化一般包括哪些内容
  • 腾讯云怎么备案网站吗/百度app下载安装普通下载
  • 做网站吉林/刷赞网站推广空间免费
  • 北京国际建设集团网站/企业网站优化工具
  • 在线编辑器/成都百度推广优化创意
  • wordpress 3.2/郑州seo实战培训
  • wordpress 网站建设/万网域名注册查询网
  • 做网站域名/百度官方网
  • 哈尔滨松北区建设局网站/百度招聘官网首页
  • 如何创建自己网站/平谷头条新闻
  • 湛江模板建站多少钱/北京建公司网站价格
  • 那里做网站最好/申请网站怎么申请
  • 做网站收会员费违法吗/现在百度推广有用吗
  • 公司网站维护都需要怎么做/营销型网站的推广方法
  • 开工作室做网站怎样找资源/手机怎么建网站
  • 郑州上街区网站建设公司/百度指数什么意思
  • 公明做网站的公司/上海网站建设咨询
  • 啥网站都能看的浏览器/什么叫关键词举例
  • 顺德网站制作案例如何/农夫山泉软文300字
  • wordpress文章编辑技巧/杭州优化建筑设计
  • 鹤壁专业做网站多少钱/个人怎么做网站
  • 网站 维护方案/产品推广运营的公司
  • 常州做网站yongjiaweb/seo服务商排名
  • 如何选择购物网站建设/南阳seo优化
  • 网络服务器的作用/seo推广效果怎么样
  • 企业网站建设平台/成品网站源码1688免费推荐
  • 怎样才能增加网站/网络平台推广方式
  • 深圳工程造价建设信息网站/网站设计公司哪家专业
  • 企业集团网站建设与运营/泰州百度seo公司
  • jquery mobile网站模板/微信群拉人的营销方法
  • 【Linux系统】进程间通信:基于匿名管道实现进程池
  • C++入门自学Day6-- C++模版
  • 深度学习图像处理篇之AlexNet模型详解
  • MySQL学习之MVCC多版本并发控制
  • Socket编程——TCP协议
  • openwrt 23.05编译intel igb5.19.4驱动