so habe ich derzeit ein Programm geschrieben, wo, wenn Sie auf eine Nachrichten '.article'
Überschrift klicken, die '.description'
unten erscheint und die Überschrift grau markiert ist und alle anderen Überschriften geschlossen bleiben. Wenn Sie dann auf eine andere Überschrift klicken, wird die erste, die Sie angeklickt haben, geschlossen, und die neue wird hervorgehoben und geöffnet. die Javascript sieht wie folgt aus:Toggle funktioniert nicht für meine jQuery
var main = function() {
$('.article').click(function() {
$('.article').removeClass('current');
$('.description').hide();
$(this).addClass('current');
$(this).children('.description').toggle();
});
};
$(document).ready(main);
Hier ist das die CSS für 'current'
wie folgt aussieht:
.current .item {
background: rgba(206,220,206,.9);
}
Nun, meine Frage ist, wie ich die aktuell geöffnete Artikel schließen möchten, wenn Sie auf es wieder. Deshalb habe ich den Toggle-Befehl $(this).children('.description').toggle();
statt .show()
geschrieben Aber es ist nicht umschalten ... warum? Es öffnet sich, aber es wird nicht geschlossen, es sei denn, ich klicke auf eine andere Artikelüberschrift. Ich hoffe, ich habe in dem, was ich geschrieben habe, einen Sinn ergeben. Dies ist mein erster Versuch, JavaScript zu lernen und ich könnte die Hilfe nutzen.
vollständige Offenlegung: Dies ist aus Codeacademy Lektion über den Aufbau einer interaktiven Website, aber ihre Q/A hatte nicht die Antwort auf mein Problem und anscheinend wird nicht mehr überwacht, weil sie diese Lektion beenden.
BEARBEITEN: wie gewünscht, hier ist ein Beispiel des HTML (es ist wirklich lang, also wollte ich nicht die ganze Sache posten, aber ich werde, wenn Sie wollen).
<div class="article">
<div class="item row">
<div class="col-xs-3">
<p class="source">AW Commercial Aviation</p>
</div>
<div class="col-xs-6">
<p class="title">CSeries Supplier Scramble</p>
</div>
<div class="col-xs-3">
<p class="pubdate">Mar 22</p>
</div>
</div>
<div class="description row">
<div class="col-xs-3"> </div>
<div class="col-xs-6">
<h1>CSeries Supplier Scramble</h1>
<p>Three months before the planned first flight of its CSeries, Bombardier is grappling with supplier issues crucial to meeting its production cost...</p>
</div>
<div class="col-xs-3"> </div>
</div>
</div>
Danke,
learninghowtocode
können Sie alle relevanten Code OP Hinzufügen ... html als auch – guradio
_ "und die Überschrift markiert ist grau und alle anderen Schlagzeilen geschlossen zu bleiben. Wenn Sie dann klicken eine andere Überschrift "_ Wie kann ein anderes Schlagzeilen-Element angeklickt werden, wenn" alle anderen Schlagzeilen geschlossen bleiben "? Können Sie 'html' bei Question angeben? – guest271314
@ guest271314, alle Überschriften zeigen (eine über der anderen). Wenn ich sage, dass die Überschrift _closed_ oder _open_ ist, meine ich den Artikel selbst, aber alle anderen Überschriften sind noch sichtbar. – SGBurek