1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>列表动画</title> <script src="./js/vue.js"></script> <style> li { border: 1px dashed #999; margin: 5px; line-height: 35px; padding-left: 5px; font-size: 12px; width: 100%; }
li:hover { background-color: pink; transition: all 0.8s ease; }
.v-enter, .v-leave-to { opacity: 0; transform: translateY(80px); }
.v-enter-active, .v-leave-active { transition: all 0.6s ease; }
.v-move { transition: all 0.6s ease; }
.v-leave-active { position: absolute; } </style> </head>
<body> <div id="app"> <div> <label for="">Id: <input type="text" v-model="id"></label> <label for="">Name: <input type="text" v-model="name"></label> <input type="button" value="添加" @click="add"> </div>
<transition-group appear tag="ul"> <li v-for="(item,i) in list" :key="item.id" @click="del(i)">{{item.id}}--{{item.name}}</li> </transition-group>
</div> <script> var vm = new Vue({ id: '', name: '', el: "#app", data: { list: [{ id: 1, name: 'zs' }, { id: 2, name: 'ls' }, { id: 3, name: 'ww' }] }, methods: { add() { this.list.push({ id: this.id, name: this.name }); this.id = this.name = ""; }, del(i) { this.list.splice(i, 1); } } }) </script> </body>
</html>
|