vue自定义指令实现slide滑动效果

情景:
点击某个图标的时候弹出来个小弹窗,但是希望弹窗弹出时能有个缓慢展示,缓慢收起的那个效果而不是生硬的直接显示隐藏。 那么自定义一个指令,以后有弹窗的地方,用这个指令控制都可以达到这个效果。
1 创建一个文件,这算是封装的slide的组件

export default (Vue) => {
    Vue.directive ('slide', {
        inserted: function(el,binding){
            if(binding.value){
                $(el).slideDown();
            } else {
                $(el).hide();
            }
        },
        update: function(el,binding) {
            let newVal = binding.value,oldVal=binding.oldValue;
            if(newVal===oldVal){
                return;
            };
            if(binding.value){
                $(el).slideDown();
            }else{
                $(el).slideUp();
            }
        }
    })
}

2 在main.js 里面引入这个文件

import Directive from ' 刚才创建文件的路径'
Directive(Vue)

3 使用的时候通过v-slide即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值