2010-11-26 4 views
0

J'ai créé un exemple du problème ici:jQuery en direct() vol stationnaire, un comportement étrange avec afficher/masquer div

http://jsfiddle.net/jXLSW/

Notez que lorsque vous passez la souris sur l'image d'une div apparaît à la haut de l'image. Lorsque vous quittez l'image, elle disparaît. Le problème est lorsque vous déplacez votre souris sur la div en haut. Il va dans ce cycle show/hide parce que la souris entre/sort.

Cette div apparaissant en haut va contenir des icônes qui agissent comme une barre d'outils. Comment puis-je garder la barre d'outils visible lorsque je la survole? Plus important encore, comment puis-je faire cesser le cyclisme?

MISE À JOUR: Ce qui est intéressant, c'est que le code suivant fonctionne comme vous le souhaitez. Le problème est qu'il semble y avoir des problèmes de livequery dans ce temps souvent, il ne fonctionne pas réellement. Par conséquent, aucun div n'apparaît, ce qui est un problème majeur aussi bien.

$('.has-menu').livequery(function() { 
    $(this).hover(function() {$(this).find('div.img-menu').slideToggle();}, function() {$(this).find('div.img-menu').slideToggle();}); 
}); 

Répondre

1

Eh bien, j'ai changé le code à ceci:

$('.has-menu').live('hover', function(e) { 
    if (e.type == 'mouseover') { 
     $(this).find('div.img-menu').slideToggle(); 
    }else{ 
     $(this).find('div.img-menu').slideToggle(); 
    } 
}); 

et maintenant tout va bien.

Questions connexes