jQuery

2010-12-02 6 views
0

Je suis en train de créer un menu de navigation jQuery où il glisse vers le bas pour montrer l'enfant UL lorsque vol stationnaire et fadeout lorsque la souris est déplacé hors et j'ai le code suivant qui agit très différent dans les différents navigateurs.jQuery

Espérez-vous les gars peuvent repérer le problème.

jQuery(document).ready(function(){ 
// menu effects 
this.navLi = jQuery('nav ul li').children('ul').hide().end(); 
    this.navLi.hover(function() { 
    // mouseover 
    jQuery(this).find('> ul').stop(true, true).slideDown(300); 
    }, function() { 
    // mouseout 
    jQuery(this).find('> ul').stop(true, true).fadeOut(300); 
}); 
}); 

IE7 et 8 toboggan et fadeout fonctionne slide FF fonctionne fadeout ne fonctionne pas slide Chrome ne fonctionne que première fois et la deuxième fois, il ne fonctionne pas et ne fadeout fonctionne pas du tout

Safari même comme Chrome comme ils sont tous deux WebKit ...

Faites-moi savoir si vous les gars savent why..most apprécié.

+0

Ok je l'ai résolu ... c'était parce que avant d'ajouter l'effet jQuery, il y a une déclaration « display: none » sur les enfants UL maintenant avec jQuery je dois d'abord régler l'affichage: bloc à l'enfant et UL puis appelez la fonction hide() ... qui l'a corrigé ... –

Répondre

0

Le problème est probablement votre sélecteur initial. Il doit être jQuery('#nav ul li') si nav est un ID d'élément ou jQuery('.nav ul li') s'il s'agit d'une classe. Voir un exemple dépouillé basé sur votre code here.

+0

merci pour la réponse mais non, ce n'est pas le sélecteur ... Rappelons que cela fonctionne dans tous les navigateurs mais juste un peu ça ne marche pas sur le second vol stationnaire et certains le fondu ne fonctionne pas. merci d'essayer si .. –