zoukankan      html  css  js  c++  java
  • Day3.6列表动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>动画</title>
    <script src="../lib/js/vue.js"></script>
    <style>
    li{
    border: 1px dashed black;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    font-size: 12px;
    }
    li:hover{
    background-color: #1b6d85;
    transition: all 0.5s;
    }
    .v-enter,
    .v-leave-to{
    opacity: 0;
    transform: translateY(80px);
    }
    .v-enter-active,
    .v-leave-active{
    transition: all 0.8s linear;
    }
    /* .v-move 和 .v-leave-active 配合使用,能够实现列表后续的元素,渐渐地飘上来的效果*/
    .v-move{
    transition: all 0.5s linear;
    }
    .v-leave-active{
    position: absolute;
    }
    </style>
    </head>
    <body>
    <div id="app">
    <div>
    <label>
    ID:
    <input type="text" v-model="id">
    </label>
    <label>
    NAME:
    <input type="text" v-model="name">
    </label>
    <input type="button" value="ADD" @click="add">
    </div>
    <ul>
    <!-- 在实现列表动画的时候,如果需要过渡的元素是通过 v-for 循环渲染出来的
    不能使用transition 包裹,要使用 transition-group -->
    <!-- 给 transition-group 添加 appear 属性,实现列表刚展示出时的效果 -->
    <!-- 通过为 transition-group 元素设置tag 属性,指定transition-group渲染为指定的元素,如果不指定 tag 属性 默认渲染为span 标签-->
    <transition-group appear tag="ul">
    <!-- 如果要为 v-for 循环创建的元素设置动画,必须为每一个元素 设置 :key 属性 -->
    <!-- 根据索引删除-->
    <li v-for="(item,i) in list" :key="item.id" @click="remove(i)">
    {{ item.id }} - - - {{ item.name }}
    </li>
    </transition-group>
    </ul>
    </div>
    <script>
    const vm = new Vue({
    el:'#app',
    data:{
    id:'',
    name:'',
    list:[
    {id:1,name:'秦始皇'},
    {id:2,name:'刘邦'},
    {id:3,name:'项羽'},
    {id:4,name:'赵高'}
    ]
    },
    methods:{
    add(){
    this.list.push({ id:this.id,name:this.name })
    this.id = this.name = ''
    },
    //传索引删除
    remove(i){
    this.list.splice(i,1)
    }
    }
    })
    </script>
    </body>
    </html>
  • 相关阅读:
    P1847 轰炸II
    c++ 如何对拍
    P2689 东南西北
    P2006 赵神牛的游戏
    P1320 压缩技术(续集版)
    vuex
    less
    将二维数组转化成一维数组
    剩余数组(从'水果数组'筛选掉'吃了的数组')
    将一维数组转化成二维数组
  • 原文地址:https://www.cnblogs.com/zhaohui-116/p/12057274.html
Copyright © 2011-2022 走看看