JavaScript Afficher/Masquer comme des Filtres à la liste des divs
Cherche à créer un script Javascript qui agit comme un filtre sur une liste de divs.
Pour exemple, voici le but de balisage...
<a href="#" onclick="">Filter Item 1</a>
<a href="#" onclick="">Filter Item 2</a>
<a href="#" onclick="">Filter Item 3</a>
<a href="#" onclick="">Filter Item 4</a>
<a href="#" onclick="">Filter Item 5</a>
<div class="1">Item 1</div>
<div class="1">Item 1</div>
<div class="2">Item 2</div>
<div class="3">Item 3</div>
<div class="1">Item 1</div>
<div class="4">Item 4</div>
<div class="4">Item 4</div>
<div class="1">Item 1</div>
<div class="5">Item 5</div>
Je veux être en mesure de cliquer sur le lien pour le Point 1, et ne montrer que le Point 1 de la vrd et masquer tous les autres divs, cliquez sur le lien de l'Article 2, et de montrer uniquement le Point 2 divs et masquer tous les autres divs et ainsi de suite. J'ai vu plusieurs scripts, mais rien qui, apparemment, se transforme divs correspondant à la classe on/off de cette manière.
OriginalL'auteur deconspray | 2011-02-16
Vous devez vous connecter pour publier un commentaire.
Cela peut être fait facilement en Jquery, à la suite de devrait fonctionner pour vous, mais vous devez modifier votre code html comme suit
et javascript comme suit
OriginalL'auteur Anto Binish Kaspar
Vous pouvez utiliser du jQuery bascule. ci-dessous est simple exemple:
OriginalL'auteur KJYe.Name
Solution très simple:
Cela, bien sûr, permet de masquer tous les autres div de la page, donc vous devriez donner à tous les autres ou de les mettre à l'intérieur un autre div. Ensuite, le code pourrait être:
OriginalL'auteur Silver Light
Définir un ID pour chaque lien, puis d'attribuer un événement onclick. De là, vous pouvez filtrer les divs en utilisant le lien cliqué ID.
Quelque chose comme ceci (http://jsfiddle.net/pJRek/1/)
Balisage:
Et script:
OriginalL'auteur unclenorton
Si vous configurez votre HTML:
Puis votre code jQuery peut être aussi simple que:
Bien sûr, vous voulez ajouter une indication visuelle qu'un filtre est activé et désactivé.
Vous ne voulez pas associer les éléments avec chaque lien par le biais de l'id/classes, mais au lieu d'utiliser du jQuery de stockage de données, en fonction de vos besoins.
Un exemple de travail, testé dans firefox, ici: http://jsfiddle.net/mwolfetech/GetRV/
Edit: Cette solution est similaire à Anto Binish Kaspar du, surtout ne différant que par la
comment le html est modifié. Je pense que les divs donné sont susceptibles d'être une bonne structure de votre document, de toute façon, et élimine le besoin pour des classes de contrôle. C'est toujours une décision de conception--l'équilibrage de la div (division structurelle) vs classe (par catégories). En outre, theres aucun besoin pour extraire l'id de l'objet d'événement comme jQuery fournit la
this
de référence.OriginalL'auteur mwolfetech
Leur donner à tous une autre classe (par exemple
item
) et ensuite faire la cliquez sur masquer tous lesitem
et de montrer l'ensemble de la valeur sélectionnée.OriginalL'auteur Andrew Jackman