2009-10-30 2 views
3

http://www.izrada-weba.com/orso Au survol de la souris sur le lien "NENATKRIVENA TERASA ..." sous-menu et l'image se fanent ensemble. Sous-menu est décoloré en utilisant un script téléchargé et de l'image ci-dessus est fondu en utilisant mon code:JQuery hover fadeIn/fadeOut problème

$(document).ready(function() { 
    $("#slika1").hide(); 

    $("#test,#submenu2").hover(
     function() { 
     $("#slika1").fadeIn(); 
     }, 
     function() { 
     $("#slika1").fadeOut(); 
     } 
    );  
}); 

Lorsque la souris est sur la liaison que l'image disparaît, et quand la souris est déplacé à l'image sous-menu disparaît et que se efface à nouveau .. Je sais pourquoi est-ce le cas mais je ne sais pas comment le faire disparaître quand on déplace la souris directement d'un lien vers un sous-menu. Y a-t-il des solutions pour cela?

Merci, Ile

Répondre

16

La fonction d'arrêt de() arrête toutes les animations en cours d'exécution sur l'élément spécifié.
Essayez de modifier votre fonction mouseover:

$("#slika1").stop().fadeIn(); 


Edit:
Il semble y avoir un problème avec le sous-menu ne faiblit pas dans tous les sens (voir le commentaire de l'ile). Cela me semble être un bug jQuery, mais je ne suis pas sûr. Peut-être que quelqu'un peut intervenir et expliquer pourquoi cela se produit.
Pour contourner cette tentative d'utilisation de fadeTo(); il semble produire le résultat souhaité:

$(document).ready(function() { 
    $("#slika1").fadeTo(0,0); 

    $("#test,#submenu2").hover(
    function() { 
     $("#slika1").stop(true).fadeTo("normal",1); 
    }, 
    function() { 
     $("#slika1").fadeTo("normal",0); 
    } 
);  
}); 
+0

Parfait! Merci, Jataro! –

+0

Hmmm, il y a un nouveau problème qui se produit maintenant, quand déplacer la souris rapidement du lien vers l'image du sous-menu ne s'estompe pas à 100% et l'image reste transparente même si je fais de nouveau moseouver:/ –

+0

GRAND MERCI !!! Vous m'avez sauvé beaucoup de temps :) –

1

Le problème avec fadeIn() ne fonctionne pas lorsque le fadeOut() est interrompu parce que fadeIn() ne fonctionne que si l'élément est caché. Que vous l'appeliez un bug ou une fonctionnalité. Pour remédier à cela, vous pouvez faire ce qui suit.

$("#mydiv").stop().hide().fadeIn(450);