jquery toggle zwischen divs und anschließend verstecken aktiven div
einem Spiel auf eine ähnliche Frage von mir wurde freundlich beantwortet.
drei divs versteckt. jquery schaltet zwischen Ihnen über verschiedene links. dies funktioniert hervorragend! nun, ich möchte, clink den link der entsprechenden aktiven div ein und ausblenden, esentially das gleiche wie beim laden der Seite mit allen von Ihnen versteckt. jetzt rückt es aus und wieder an.
Hilfe! danke!
HTML:
<div id="nav">
<a class="home" id="show_about" title="About">ABOUT</a><br />
<a class="home" id="show_subscribe" title="Subscribe">SUBSCRIBE</a><br />
<a class="home" id="show_contact" title="Contact">CONTACT</a>
</div>
<div id="content">
<div class="current" id="about">
<p>ABOUT's content</p>
</div>
<div id="subscribe">
<p>SUBSCRIBE's content</p>
</div>
<div id="contact">
<p>CONTACT's content</p>
</div>
</div>
Javascript:
$(function(){
$('#about').css('display', 'none');
$('#subscribe').css('display', 'none');
$('#contact').css('display', 'none');
});
$('.home').click(function(){
var id = $(this).html().toLowerCase();
$('.current').fadeOut(600, function(){
$('#'+id).fadeIn(600);
$('.current').removeClass('current');
$('#'+id).addClass('current');
});
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausprobieren..
Seit fadeOut auf die aktuelle Klasse wird entfernt, wenn die Größe des Stromes ist 0 bedeutet, dass nichts ausgewählt ist. Wir können einfach fadeIn der Inhalt div.
Beispiel auf jsfiddle.
Hier ist ein weiterer Ansatz:
Überprüfen, um zu sehen, ob die id des angeklickten Elements ist gleich der id des Elements, die derzeit angezeigt werden (d.h. das element mit der aktuellen Klasse). Wenn Sie ein anderes element, dann ist eine swap-stattfinden muss. Wenn es das gleiche element ist, dann muss es versteckt werden und seine aktuellen Klasse entfernt...
(Edit: fixed-code)
HTML:
JS:
Ersetzen Sie einfach die .hide()'s und .shows()'s, mit ein-und ausblendet.
if ($('.current').id.toLowerCase() != id)