recherche

Maison  >  Questions et réponses  >  le corps du texte

Solution de contournement non valide pour setTimeout combiné avec Mouseenter

$(".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);
    });
});
習慣沉默習慣沉默2791 Il y a quelques jours876

répondre à tous(2)je répondrai

  • 狂飙的蜗牛

    狂飙的蜗牛2018-12-09 21:07:35

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

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

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-19 10:47:28

    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. 🎜🎜 🎜

    répondre
    0
  • Annulerrépondre