2010-08-12 8 views
0

J'ai un élément qui, lorsqu'il est survolé, glisse de haut en bas. Cependant, si l'utilisateur place son curseur sur l'élément au fur et à mesure que la page se charge, il inverse parfois l'action, en descendant et en remontant. Cela est particulièrement difficile pour le visiteur car l'élément disparaît constamment quand il essaie de cliquer dessus.L'effet jQuery se charge trop rapidement, fonctionne inversement

C'est ce que l'extrait de code ressemble:

$j('#gallery_holder').hover(function() { 

    $j('.gallery_spacer').slideToggle(); 

}); 

Répondre

0

Il y avait une réponse ici précédemment (je ne sais pas où il est allé) qui a suggéré que j'utilise mouseenter() au lieu de hover(). Cela semble fonctionner pour moi. Depuis l'utilisation, je n'ai pas été en mesure de reproduire le problème jusqu'à présent. Voici ce que je fini par aller avec:

$j('#gallery_holder').mouseenter(function() { 

    $j('.gallery_spacer').slideUp(); 

}); 

$j('#gallery_holder').mouseleave(function() { 

    $j('.gallery_spacer').slideDown(); 

}); 

Tout cela est placé à l'intérieur:

$(document).ready(function() { 

}); 
0

essayez d'emballage le code que vous avez dans ce qui suit;

$(document).ready(function() { 
//your code 
}); 
+0

J'ai cela et il semble toujours se comporter bizarrement. – HWD