2010-06-24 3 views
0

Lorsque je cours ce $btns.first().click(); dans la première fonction, il ne l'actionne pas comme si je clique dessus (selon la deuxième fonction, il fonctionne parfaitement.Le résultat est que les diapositives montrent tous quand je clique sur un onglet au lieu d'un seul. Et puis quand je clique sur l'un des boutons internes des lames tout disapear laissant juste un. ce qui est correct.exécuter une fonction quand un autre est cliqué en utilisant jquery

http://jsfiddle.net/p259x/

Je sais que cela est difficile à comprendre si nous espérons que le lien

+0

Je l'ai trié, j'ai ajouté aucun affichage aux diapositives> div. Merci à tous pour votre recherche! – Jeff

+0

Génial. J'étais sur le point de poster que je n'ai aucune idée de ce dont vous parlez. Je l'ai fait de toute façon :) – Anurag

Répondre

0

Lorsque vous définissez la fonction $tabs.click(), $btns n'existe pas réellement, donc il essaie probablement de cliquer sur une référence undefined. Il suffit de mettre la déclaration de la fonction $tabs.click() sous l'instanciation de $btns.

De plus, lorsque vous cliquez sur un $tabs, l'écran n'est pas mis à jour correctement. L'appel return dans une fonction signifie qu'il quitte la fonction à ce moment-là. Il ne continuera PAS à travers et n'exécutera aucune autre ligne de code qui existe après. Ainsi, dans votre déclaration $tabs.click(), vous devez déplacer la dernière ligne ($btns.first().click()) au-dessus de votre instruction return false;. Enfin, vous pouvez déplacer les lignes $tabs.first().click() et $btns.first().click(), car elles dépendent des événements déclarés et risquent de ne pas vous donner les résultats souhaités s'ils existent avant la déclaration d'événement.

+0

Merci pour la réponse détaillée! – Jeff

Questions connexes