Zeigen Sie ein div, alle anderen auszublenden klicken Sie auf
Habe ich eine einfache Bild/video-Galerie, ich will animieren mit jQuery. Alles was ich will in der Lage sein zu tun ist, wenn jemand auf einen link klickt der .big
div mit der ID gesetzt ist display:block; opacity:1
und alle anderen divs gesetzt display:none; opacity:0
Dies ist das markup für meine Galerie;
<div id="gallery">
<div class="main">
<div id="big-1" class="big"><!-- image /video here --></div>
<div id="big-2" class="big"><!-- image /video here --></div>
<div id="big-3" class="big"><!-- image /video here --></div>
</div>
<div class="thumbnails">
<a id="1" href="#"><img src="images/thumb1.jpg" alt="#"/></a>
<a id="2" href="#"><img src="images/thumb1.jpg" alt="#"/></a>
<a id="3" href="#"><img src="images/thumb1.jpg" alt="#"/></a>
</div>
</div>
Standardmäßig alle .big
divs gesetzt display:none; opacity:0
außer dem ersten.
- Sie können alle ausblenden .big [ $('.big') ] Klassen und dann zeigen, in der nur die div-id [ $('#div' + id) ] auf "fertig" callback".
- Verwenden Sie nicht dieselbe ID für mehrere Elemente. Seine schrecklichen.
- Sie möchten Vorschaubild auch angezeigt werden, nach
.big
geklickt oder wollen einfach nur die Anzeige geklickt.big
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine einfachere Lösung, ohne die Notwendigkeit von ids oder zufällige Attribute:
HTML:
jQuery:
Im Grunde, was es tut, Holen Sie sich die position der Miniaturansicht geklickt und dann zeigen Sie das Bildergalerie-element in der gleichen position (hinzufügen einer Klasse
.show
diedisplay:block
zum Beispiel).Hier ist ein gewürzt FIDDLE ilustrating der Ansatz.
Zunächst müssen Sie mehrere Elemente mit der gleichen ID, was aber falsch ist. Jede ID auf der Seite sollte eindeutig sein.
Dann könnte man etwas wie das hier tun:
Aber ich higly empfehlen, die nur mit jquery
.hide()
und.show()
Funktionen.ID nicht allein numerisch.
Konventionen für ID:
Versuchen:
HTML:
jQuery:
CSS:
in html Satz ein Attribut
IN JS
Hinweis - da Sie nicht haben, 2 Elemente mit der gleichen id. Ich habe hier unterstellt, dass Sie die id des div angezeigt werden, die in dem Attribut
data-id
Sollten Sie nicht mehrere IDs, Sie sollen einzigartig sein. Update deine divs yo verwenden einen benutzerdefinierten HTML5-data-Attribut:
Und versuchen, diese:
Bitte versuchen Sie dies: