优秀的编程知识分享平台

网站首页 > 技术文章 正文

Vue.js 列表过渡(vue列表过滤)

nanyue 2024-08-05 20:07:41 技术文章 6 ℃

进入/离开 & 列表过渡

示例一:

<style>
	/* 移动的时间 */
 .fade-enter-active{
 transition: all .3s ease;
 }
 /* 移动的方向,和过渡 */
 .fade-leave-active{
 transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
 }
 /* 开始和结束的状态 */
 .fade-enter,.fade-leave-to{
 transform: translateX(10px);
 opacity: 0;
 }
 </style>
<body>
 <div id="main">
 <button v-on:click="ok = !ok">点击</button>
 <transition name="fade">
 <p v-if="ok">侠课岛-vue动画课程</p>
 </transition>
 </div>
</body>
<script>
 var vm = new Vue({
 el: '#main',
 data: {
 ok: true
 }
 });
</script>

示例二:

添加与删除数字动画修改

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>侠课岛 vue-列表动画</title>
 <script src="Vue.min.js"></script>
 <script src="js/lodash.min.js"></script>
 <style type="text/css">
 .list-item{
 width: 30px;
 height: 30px;
 line-height: 30px;
 text-align: center;
 border: 1px solid green;
 display: inline-block;
 }
 .list-enter-active,.list-leave-active{
 transition: all 1s;
 }
 .list-enter,.list-leave-to {
 opacity: 0;
 transform: translateY(30px);
 }
 </style>
</head>
<dy>
 <div id="main">
 <button v-on:click="add">添加数字</button>
 <button v-on:click="remove">删除数字</button>
 <transition-group name="list">
 <span v-for="item in items" v-bind:key="item" class="list-item">
 {{ item }}
 </span>
 </transition-group>
 </div>
</body>
<scpt>
 var vm = new Vue({
 el: '#main',
 data: {
 items: [1, 2, 3, 4, 5, 6, 7, 8, 9],
 nextNum: 10
 },
 methods: {
 // 定义一个随机添加的方法
 randomIndex: function() {
 return Math.floor(Math.random() * this.items.length)
 },
 // 添加数字方法
 add: function() {
 this.items.splice(this.randomIndex(), 0, this.nextNum++)
 },
 // 删除数字方法
 remove: function() {
 this.items.splice(this.randomIndex(), 1)
 },
 }
 });
</script>
</html>

Tags:

最近发表
标签列表