javascript - setTimeout与Mouseenter结合使用无效的解决方法
習慣沉默
習慣沉默 2017-05-19 10:45:28
[JavaScript讨论组]
$(".item-holder").each(function(){
    $(this).bind("mouseenter", function(e) {
        e.preventDefault();
        var t = setTimeout(function(){
            $(this).find(".mindex-blog-meta").animate({
                left:"0"
            },500);
            $(this).find(".ret").animate({
                top:"60%"
            },600);
        });
    },300)
});

$(".item-holder").each(function(){
    $(this).bind("mouseleave", function(e) {
        e.preventDefault();
        clearTimeout(t);
        $(this).find(".mindex-blog-meta").animate({
            left:"-60%"
        },500);

        $(this).parent().find(".ret").animate({
            top:"100%"
        },600);
    });
});
習慣沉默
習慣沉默

全部回复(2)
狂飙的蜗牛

这里有篇文章,说的非常详细,还有在线实例演示:

http://www.aijquery.cn/Html/jqueryjiqiao/130.html

ringa_lee
  1. 碰到多个元素需要绑定相同事件处理的,改用事件代理,即把事件绑到这些元素的公共父元素上,然后用选择器命中指定元素即可。具体方法去看文档;

  2. 想要clearTimeout(),变量得能找的到,你在匿名函数里声明的变量t,困在作用域里完全出不来啊~

  3. 没必要setTimeout,jQ的动画不是还有delay呢么。

  4. clearTimeout()的效果,用stop实现吧。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号