Ungültige Problemumgehung für setTimeout in Kombination mit Mouseenter
習慣沉默
習慣沉默 2017-05-19 10:45:28
0
2
860
$(".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);
    });
});
習慣沉默
習慣沉默

Antworte allen(2)
狂飙的蜗牛

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

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

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

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

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage