Solution de contournement non valide pour setTimeout combiné avec Mouseenter
習慣沉默
習慣沉默 2017-05-19 10:45:28
0
2
857
$(".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);
    });
});
習慣沉默
習慣沉默

répondre à tous(2)
狂飙的蜗牛

Voici un article qui l'explique en détail, ainsi qu'un exemple en ligne :

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

左手右手慢动作
  1. Si vous rencontrez plusieurs élémentset devez lier le même traitement d'événement, utilisez plutôt un proxy d'événement, c'est-à-dire liez l'événement à l'élément parent commun de ces éléments, puis utilisez le sélecteur pour atteindre l'élément spécifié. élément. Voir la documentation pour les méthodes spécifiques ;

  2. Si vous voulez clearTimeout(), la variable doit être trouvée. La variable t que vous déclarez dans la fonction anonyme est piégée dans la portée et ne peut pas être sortie~clearTimeout(),变量得能找的到,你在匿名函数里声明的变量t,困在作用域里完全出不来啊~

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

  4. clearTimeout()

Il n'est pas nécessaire de setTimeout, l'animation de jQ n'a-t-elle pas également un délai ? 🎜🎜 🎜🎜clearTimeout() peut être obtenu en utilisant stop. 🎜🎜 🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal