请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Velocity改变元素的样式,第一次触发成功,第二次后就不执行了

补充代码如下:

<transition @before-enter = " handelBeforEnter"
    @enter = "handelEnter"
    @after-enter = "handleAfterEnter"
>
<!-- @before-leave @leave @after-leave -->
    <div v-show="show">hello World</div>
</transition>
<button @click="handleClick">切换</button>

正在回答 回答被采纳积分+3

插入代码

3回答

慕先生3442787 2018-11-26 16:24:16

把‘v-show’改成‘v-if’,或者写一个leave把opacity设为0。如果控制显示隐藏的方法是“v-show”,‘v-show’隐藏的原理是将样式diaplay设置为none,此时元素的opacity还是1。

1 回复 有任何疑惑可以回复我~
提问者 qq_风之舞_ixKN67 2018-10-23 14:45:32

<div id="root">

        <transition @before-enter = " handelBeforEnter" 

            @enter = "handelEnter"

            @after-enter = "handleAfterEnter"

        > 

             <!-- @before-leave @leave @after-leave -->

            <div v-show="show">hello World</div>

        </transition>

       <button @click="handleClick">切换</button>

    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <script src="velocity.js"></script>

    <script>     

        var vm = new Vue({

            el:"#root",

            data:{

                show:true

            },

            methods:{

                handleClick:function(){

                    this.show = !this.show;

                },

                handelBeforEnter:function(el){

                    // el值动画包裹的div标签

                    el.style.opacity = 0;

                    console.log("beforeEnter");

                },

                handelEnter:function(el,done){

                   Velocity(el,{

                       opacity:1

                    },{

                       duration:1000,

                        complete:done

                    });

                    console.log("Enter");

                },

                handleAfterEnter:function(el){

                   alert("动画结束");

                   console.log("afterEnter");

                }

            }

        });

    </script>

0 回复 有任何疑惑可以回复我~
慕数据3159070 2018-10-23 14:25:05

这里看不出来撒,全部代码有吗?


0 回复 有任何疑惑可以回复我~
  • 提问者 qq_风之舞_ixKN67 #1
    回复里有字数限制,我把代码贴到答案那了, 麻烦了哈。
    回复 有任何疑惑可以回复我~ 2018-10-23 14:46:22
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号