jq 解决 动画 淡入淡出,隐藏显示,多次操作BUG

本文介绍如何使用jQuery的stop()方法和hover()方法优化频繁触发的动画效果,避免动画无脑执行,实现更流畅的用户体验。

一般我们有动态的比如 一个 div 点击 其他一个 或者是 鼠标移动到另一个 div时候, 淡入淡出动画,或者是其他动画 。显示或者隐藏。 当然如果使用 CSS3动画那就更好了,那样BUG是没有的。

可是会发现如果我们操作比较频繁的时候,就会发现动画就一直在无脑执行,自动操作很多次。这不是我们想要的:

解决办法:

下面是一个  鼠标移动 移出 div   淡入淡出或者是隐藏 的效果例子 js部分:

//鼠标经过 标题显示 div 隐藏就隐藏

//鼠标移动事件 推荐使用 hover() 如果是其他事件容易出现BUG的
    $("#thingContent").hover(function(event) {
        //$("#thinkStandard").show();
        // event.preventDefault(); //这里不可以,连 基本效果都没有

        //event.stopPropagation(); 这个不行

        $("#thinkStandard").stop(true).fadeIn();
    }, function(event) {
        // $("#thinkStandard").hide();
        // event.preventDefault();
        //event.stopPropagation(); 

        // stop(true) 表示 停止所有的同级队列,如果不为ture 那么会将当前的动画执行完才会执行下去的
        $("#thinkStandard").stop(true).fadeOut(3000);
        // $("#thinkStandard").stop().fadeOut(3000); stop阻止同级别的事件

    });

详情请看 jq  stop() 方法和 hover 方法

转载于:https://my.oschina.net/ouminzy/blog/794736

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值