9
votes

JQuery: Comment basculer l'affichage sur la survolte

J'ai 2 allures.

premier: Deuxième:

mon CSS: xxx

Ce que je veux faire, c'est Montrez la deuxième portée lorsque vous volez le premier. Aucun effet fantaisiste ou quoi que ce soit, montrez simplement la portée. Je sais qu'il y a une simple solution de jQuery, mais je suis nouveau à JQuery, alors j'apprécierais une aide de l'aide. ;)

C'est ce que j'ai jusqu'à présent. Est la syntaxe correcte? xxx

mise à jour!

Comme @thenduks a souligné, cela se traduit par chaque .Desc élément à Afficher quand un .body est planifié. Comme vous pouvez probablement imaginer, j'ai plusieurs .body et .Desc et je veux seulement le correspondant pour afficher sur la surversion du .body .

Cela fait partie de mon balisage: (Le site entier n'est toujours que local, donc je ne peux donc pas vous donner une URL à tester - désolé) < Pré> xxx


2 commentaires

Voici un exemple que vous pouvez tester: jsfiddle.net/khfcf Cela semble correct. Sachez simplement que lorsque vous allumez sur n'importe quel élément .body , il bascule chaque .dec élément.


Cela me semble bon (bien que vous puissiez vouloir un demi-point après chacun des deux }) ) - N'est-ce pas fonctionner?


3 Réponses :


4
votes

Votre script fonctionne.

http://jsfiddle.net/y8wpw/

-UPDATE- Vos scripts fonctionnent de différentes manières selon la version JQuery utilisée. Dans JQuery 1.3.2, le .Desc Span affichera lorsque vous mettez la souris sur le .body Span, mais ne disparaîtra pas lorsque la souris la quitte. La prochaine fois que la souris entre dans .body . Le script renverse son action et cache le .desc . Donc, chaque fois que vous survolez et éteint la première portée, cela dirigera le script une fois.

dans jQuery 1.4.2 Apparemment, une mise à jour est une mise à jour qui rend le .desc apparaître sur la sourisover, mais cache immédiatement sur la souris. Je pense que c'est ce que vous cherchiez.


2 commentaires

Je crois que le changement de 1.4 est celui qui passe seulement 1 fonction à survol Cela devrait être utilisé à la fois pour les Mouseover et Mouseout événements.


Regardez ça ... ça marche !? C'est assez étrange, mais agréable de savoir que je l'ai bien compris!



10
votes

Cela permettra de planer sur tout em> .body code> élément montrant tous em> .desc code> éléments.

Si vous publiez votre balisage réel, nous pouvons comprendre le code approprié pour afficher un correspondant code> pour un .body code>. P>

mise à jour EM>: Donc, étant donné le balisage de la réponse mise à jour, j'écris probablement le gestionnaire comme si: p> xxx pré>

update2 em>: Pour avoir le même comportement sur le clic et actif, c'est un peu délicat car dès que vous mousiez le .body code> le .desc code> se cachera même si vous avez cliqué dessus. Faisable si ... j'essayais ceci: p>

var showFunc = function() {
  $("." + $(this).className).attr('rel', '');
  $(this).attr('rel', 'open').siblings('.desc').show();
};


3 commentaires

Vous avez raison ... chaque .Desc est maintenant montrant. J'ai mis à jour ma question pour montrer le balisage. J'espère que vous pourrez m'aider à obtenir la correspondance .desc à montrer. Merci! :)


Fantastique! Merci beaucoup!:)


Suivi rapide ... Et si je veux .descs pour montrer également sur Click and Active (lors de la tabulation)?



3
votes

Si vous voulez pouvoir simplement afficher le .desc d'un élément spécifique .body Vous pouvez utiliser les éléments suivants:

html < / strong> xxx

jQuery xxx

CSS < / p> xxx

espère que cela aide


0 commentaires