2009-09-16 6 views
1

Je veux faire un menu déroulant pour mon site web avec jquery ... quelques problèmes se produisent:requête HoverIntent ne fonctionne pas (sélecteurs génériques et plus)

  1. Le caractère générique ne marche pas semblent fonctionner
  2. Il ne sélectionnera pas ses enfants avec ul.

HTML:

<li class="px6RANDOM"> 
    <a href="LINK"> 
     <span>Disclosure</span> 
    </a> 
    <ul class="subMenu"> 
      <li>1</li> 
      <li>2</li> 
      <li>3</li> 
    </ul> 
</li> 

JQuery:

$(function(){ 
    $("li.px\\S*").children("ul").hide(); 

    function show() 
    { 
     $(this).children("ul").show(); 
    } 
    function hide() 
    { 
      $(this).children("ul").hide(); 
    } 

    $("li.px\\S*").hoverIntent({ 
     sensitivity: 1, 
     interval: 50, 
     over: show,  
     timeout: 1000, 
     out: hide 
    }); 

}); 

Qu'est-ce que je fais mal? Le sélecteur semble être en ordre et les enfants fonctionnent aussi bien!

Je suis un débutant jquery/javascript mais je veux apprendre. S'il vous plaît aider!


Répondre

1

Essayez this:

$("li[class^='px']") 

Quant à afficher et masquer: même lorsque les sélecteurs fonctionnent, this ne définit pas comme prévu. Essayez de l'ajouter en tant qu'argument pour les fonctions, ou supprimez les fonctions et insérez le code.

+0

Ah, moi mauvais ... Y at-il une bonne définition quelque part sur la façon dont la portée de ceci est expliqué? – Rickjaah

+1

Eh bien, cela dépend. jQuery fait un effort pour s'assurer que 'this' est juste quand on s'y attend, mais il n'y a aucune garantie que le plugin que vous utilisez fait la même chose (probablement, cependant). 'this' est une fonctionnalité JavaScript (pas seulement jQuery), et peut être utilisée de plusieurs façons. – Kobi

Questions connexes