最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中transition動畫使用(移動端頁面切換左右滑動效果)

 更新時間:2024年07月27日 10:07:25   作者:冷太陽a  
這篇文章主要介紹了vue中transition動畫使用(移動端頁面切換左右滑動效果),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

例子一:(簡單進入和離開動畫)

  • demo1
<template>
  <div>
    <button @click="isShow = !isShow">顯示/隱藏</button>
    <transition-group name="hello" appear>
      <h1 v-show="!isShow" key="1">vue2!</h1>
      <h1 v-show="isShow" key="2">VUE3!</h1>
    </transition-group>
  </div>
</template>
<script>
export default {
  name: 'Test',
  data () {
    return {
      isShow: true
    }
  },
}
</script>
<style scoped>
h1 {
  color: #fff;
  background-color: rgb(27, 247, 255);
}
/* 進入的起點、離開的終點 */
.hello-enter,
.hello-leave-to {
  transform: translateX(-100%);
}
.hello-enter-active,
.hello-leave-active {
  transition: 0.5s linear;
}
/* 進入的終點、離開的起點 */
.hello-enter-to,
.hello-leave {
  transform: translateX(0);
}
</style>
  • demo1
<!--
 * @Description: 
 * @Author: Ran junlin
 * @Date: 2021-09-24 14:07:16
 * @LastEditTime: 2022-02-10 17:29:28
 * @LastEditors: Ran junlin
-->
<template>
  <div id="app">
    <h2>pubsub中間件消息訂閱:</h2>
    <hr />
    <v-hello />
    <v-add />
    <hr />
    <h1>動畫</h1>
    <button @click="isShow = !isShow">點擊顯示/隱藏</button>
    <transition name="myHello" appear mode="in-out">
      <div v-show="isShow" class="demio">hello vue !</div>
    </transition>
  </div>
</template>
<script>
import pubsub from 'pubsub-js'
import vAdd from '@/components/v-add'
import vHello from '@/components/v-hello'
export default {
  name: 'App',
  components: {
    vHello,
    vAdd
  },
  data () {
    return {
      pubId: '',
      isShow: true
    }
  },
  created () {
  },
  mounted () {
    // 消息訂閱
    this.pubId = pubsub.subscribe('hello', (name, data) => {
      console.log('有人發(fā)布了消息,消息發(fā)布回調(diào)執(zhí)行', name, data);
    })
  },
  beforeDestroy () {
    pubsub.unsubscribe(this.pubId)
  },
  methods: {
  },
}
</script>
<style>
.bm-view {
  width: 100%;
  height: 600px;
}
* {
  touch-action: pan-y;
}
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
#container {
  margin: 0 auto;
  width: 1500px;
  height: 1000px;
}
.demio {
  margin: 20px auto;
  width: 80%;
  height: 300px;
  line-height: 300px;
  text-align: center;
  font-size: 50px;
  background-color: rgb(94, 245, 182);
}

.myHello-enter-active {
  animation: showHello 0.5s linear;
}
.myHello-leave-active {
  animation: showHello 0.5s linear reverse;
}
@keyframes showHello {
  from {
    transform: translateX(-100%);
    transform: scaleX(0.2);
  }
  to {
    transform: translateX(-100%);
    transform: scaleX(1.1);
  }
}
</style>

例子二:(移動端上頁面進入和離去動畫)

<template>
<div id="app">
  <transition :name="animation" mode="in-out" appear>
      <router-view class="global-router" />
  </transition>
</div>
</template>
<script>
export default {
  name: 'App',
  data() {
    return {
      animation: ''
    };
  },
  watch: {
    $route(to, from) {
      wexinShare()
      if (!from.meta.pageNum=== undefined) {
        this.animation = 'none';
      } else {
        this.animation = to.meta.pageNum> from.meta.pageNum? 'left' : 'right';
      }
    }
  },
};
</script>
<style lang="less">
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2c3e50;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  font-size: 15px;
}
</style><style lang="less" scoped>
.global-router {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.left-enter {
  transform: translateX(100%);
}

.right-enter {
  transform: translateX(-100%);
}

.left-enter-active,
.right-enter-active {
  position: relative;
  z-index: 999;
  transition: all 0.4s;
}

.left-leave-active,
.right-leave-active {
  position: relative;
  z-index: -1;
}
</style>

例子三:(利用第三方css庫 Animate

<template>
	<div>
		<button @click="isShow = !isShow">顯示/隱藏</button>
		<transition-group 
			appear
			name="animate__animated animate__bounce" 
			enter-active-class="animate__swing"
			leave-active-class="animate__backOutUp"
		>
			<h1 v-show="!isShow" key="1">你好啊!</h1>
			<h1 v-show="isShow" key="2">超級管理員!</h1>
		</transition-group>
	</div>
</template>
<script>
	import 'animate.css'
	export default {
		name:'Test',
		data() {
			return {
				isShow:true
			}
		},
	}
</script>
<style scoped>
	h1{
		background-color: orange;
	}
</style>```

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 通過vue提供的keep-alive減少對服務器的請求次數(shù)

    通過vue提供的keep-alive減少對服務器的請求次數(shù)

    這篇文章主要介紹了通過vue提供的keep-alive減少對服務器的請求次數(shù),文中給大家補充介紹了vue路由開啟keep-alive時的注意點,需要的朋友可以參考下
    2018-04-04
  • vue-cli3 配置開發(fā)與測試環(huán)境詳解

    vue-cli3 配置開發(fā)與測試環(huán)境詳解

    這篇文章主要介紹了vue-cli3 配置開發(fā)與測試環(huán)境詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • vue開發(fā)公共組件之返回頂部

    vue開發(fā)公共組件之返回頂部

    這篇文章主要為大家詳細介紹了vue開發(fā)公共組件之返回頂部,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 解決ElementUI中tooltip出現(xiàn)無法顯示的問題

    解決ElementUI中tooltip出現(xiàn)無法顯示的問題

    這篇文章主要介紹了解決ElementUI中tooltip出現(xiàn)無法顯示的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 解決vue.js 數(shù)據(jù)渲染成功仍報錯的問題

    解決vue.js 數(shù)據(jù)渲染成功仍報錯的問題

    今天小編就為大家分享一篇解決vue.js 數(shù)據(jù)渲染成功仍報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue vm.$attrs使用場景詳解

    Vue vm.$attrs使用場景詳解

    這篇文章主要介紹了vm.$attrs使用場景詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • 前端vue?a鏈接下載文件失敗的問題(未發(fā)現(xiàn)文件)

    前端vue?a鏈接下載文件失敗的問題(未發(fā)現(xiàn)文件)

    這篇文章主要介紹了前端vue?a鏈接下載文件失敗的問題(未發(fā)現(xiàn)文件),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue中引入第三方JS庫的四種方式

    Vue中引入第三方JS庫的四種方式

    在開發(fā)Vue項目的時候,有時需要使用一些非ES6格式的沒有export的js庫,下面這篇文章主要給大家介紹了關(guān)于Vue中引入第三方JS庫的詳細步驟,需要的朋友可以參考下
    2022-04-04
  • vue實現(xiàn)在線翻譯功能

    vue實現(xiàn)在線翻譯功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)在線翻譯功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • vuejs中監(jiān)聽窗口關(guān)閉和窗口刷新事件的方法

    vuejs中監(jiān)聽窗口關(guān)閉和窗口刷新事件的方法

    今天小編就為大家分享一篇vuejs中監(jiān)聽窗口關(guān)閉和窗口刷新事件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09

最新評論

绥宁县| 九江市| 清水河县| 营山县| 房产| 定陶县| 财经| 洪泽县| 昌图县| 富蕴县| 社旗县| 富锦市| 多伦县| 东乌珠穆沁旗| 铜川市| 固始县| 望江县| 都江堰市| 鄂尔多斯市| 瑞金市| 太原市| 龙岩市| 海晏县| 毕节市| 台北市| 富民县| 凌云县| 桓仁| 临清市| 南城县| 景泰县| 沽源县| 华安县| 济源市| 闻喜县| 兴文县| 当阳市| 盐津县| 德惠市| 海盐县| 澳门|