so habe ich eine <div>
mit einer blauen Hintergrundfarbe, mit einem jquery onclick-Ereignis, das die Farbe dieses div zu rot ändert. Ich habe mich gefragt, wie ich die div-Hintergrundfarbe wieder blau machen könnte, wenn der Knopf wieder angeklickt wird. & kehrt zurück zu rot, wenn ich wieder klicke und so?Wie man css klasse klasse zurück zu machen auf vor css jquery
Antwort
Ich bin mir nicht sicher, was tun Sie genau bedeuten von zweimal klicken, also habe ich zwei mögliche Lösungen für Sie gemacht.
Erste Box ändert seinen Hintergrund zu blue
auf ein klicken und Änderungen zurück in black
, wenn zweimal (Doppelklick) angeklickt.
Zweite Box ändert seinen Hintergrund mit jedem Klick, einmal ist es green
und einmal ist es yellow
.
var box = document.getElementById('box'),
box2 = document.getElementById('box2'),
bool = true;
box.addEventListener('click', function(){
this.style.background = 'blue';
});
box.addEventListener('dblclick', function(){
this.style.background = 'black';
});
box2.addEventListener('click', function(){
if (bool) {
this.style.background = 'yellow';
bool = false;
} else {
this.style.background = 'green';
bool = true;
}
});
#box {
height: 100px;
width: 100px;
background: black;
margin: 5px;
}
#box2 {
height: 100px;
width: 100px;
background: green;
margin: 5px;
}
<div id='box'></div>
<div id='box2'></div>
Ich bearbeite die Fragen, können Sie es überprüfen? –
Thankc: D hat es, ich meine, es ist Hintergrund bei jedem Klick ändern: D –
@RizalFakhri Dann wird die zweite Lösung, mit einer 'boolean'-helfenden Variable für Sie geeignet sein. –
Ihr gonig zu teilen einige Code für eine Probe auf, wie Ihr Problem würde gelöst werden. Aber die häufigste Art und Weise wäre Ihre Jquery Onclick-Ereignis haben, überprüfen Sie die Farbe des div Code ähnlich ist:
var theColorIs = $('a').css("backgroundColor");
dann Farben auf Basis ändern zu müssen, was derzeit die Farbe
istSie verwenden übergeben Sie eine leere Zeichenfolge an .css
in jQuery, wie .css('background-color', '');
, um vorherigen Wert zu löschen.
Sie benötigen diese.
$(".yourDiv").click(function() {
$(this).toggleClass("red");
});
Ihre CSS
.yourDiv{ background-color: #1E90FF; }
.yourDiv.red { background-color:#FF0000; }
JQuery hat eine Methode toggleClass genannt, die dafür geeignet ist. Sie sollten sich auch die Umschaltmethode ansehen.
<style>
.blue{
background-color: blue;
}
.red{
background-color: red;
}
</style>
<div class="blue">
....
</div>
<script>
$(".blue, .red").click(function() {
$(this).toggleClass("blue");
$(this).toggleClass("red");
});
</script>
p.s. Im Schreiben auf einem Telefon
Keine jQuery notwendig, alles, was Sie tun müssen, ist einige Styling zu einer CSS-Klasse hinzufügen und die Klasse über Vanilla JavaScript hinzufügen/entfernen.
let body = document.querySelector('body'),
box = document.querySelectorAll('.box');
body.addEventListener('click', function(e) {
let cl = e.target.classList;
if (cl.contains('box'))
cl.toggle('active');
});
.box {
background: blue;
display: inline-block;
margin: 5px;
height: 2.5rem;
width: 2.5rem;
}
.active {
background: red;
}
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
- bindet Ereignis an das übergeordnete Element klicken (in diesem Fall der Körper). Dies ist wichtig, weil stattdessen 5 Klickfunktionen zu schaffen für den Browser zu handhaben es nur ist ein
- weil der Klick zum Körper Elemente befestigt ist, müssen wir schauen, was das Ereignisziel war der Klick (was war eigentlich clickeD), um festzustellen, ob es eine Box (oder nur ein Körper) war. Wir können feststellen, ob es eine Box war, indem wir nach der Klasse suchen.
Wenn Sie dies mehr untersuchen möchten, entfernen Sie die if-Anweisung und führen Sie den Code erneut aus. Klicken Sie dann auf den Leerraum. Sie werden feststellen, dass wir, weil wir nicht nach Feldern gesucht haben, die aktive Klasse zu jedem Element hinzufügen, auf das geklickt wurde.
Für eine noch kürzeren Code können Sie den gesamten wenn Block mit cl.contains('box') && cl.toggle('active');
entfernen ersetzen, die sagt „wenn das Element eine Box Klasse hat, dann drücken Sie die aktiv Klasse“
- 1. jQuery CSS-Klasse hinzufügen
- 2. JQuery Wählen Sie CSS-Klasse: vor
- 3. jQuery zu target CSS a: Hover-Klasse
- 4. Wie Klasse mit CSS entfernen
- 5. CSS-Klasse zu Html.ActionLink hinzufügen
- 6. Wie überprüft man eine Klasse in CSS?
- 7. Hinzufügen von CSS zu Children-Element vor CSS von JQuery
- 8. Pseudo-Klasse :: vor - erstellen css Kreis
- 9. CSS Wählen Sie die letzte Klasse vor der anderen Klasse
- 10. Css-Klasse funktioniert nicht
- 11. HTML/CSS. zu einer Klasse?
- 12. Mehrere CSS-Klasse auf Divs
- 13. CSS-Klasse nicht korrekt auf Bild vor Ort
- 14. Wie erinnert man sich an CSS-Klasse auf Seite aktualisieren?
- 15. Wie kann ich der vorhandenen CSS-Klasse in jQuery eine CSS-Klasse hinzufügen?
- 16. jQuery CSS: Attribute einer Klasse dynamisch ändern
- 17. jQuery erkennen, ob CSS-Klasse hat Hintergrundbild
- 18. wie css-Klasse auf mvccontrib grid
- 19. jQuery alle Schaltfläche einer CSS-Klasse deaktivieren
- 20. jquery entfernen klasse nach css animation gespielt?
- 21. Wie unterscheidet man die gemeinsame CSS-Klasse mit anderen CSS-Klasse
- 22. Add CSS-Klasse basierend auf ID
- 23. Wie eine CSS-Klasse zu einem QVBoxLayout
- 24. CSS: eine Klasse einfügen?
- 25. JQuery-Set CSS-Transformation, Eigenschaften in Klasse
- 26. Wählbar in Jquery-Tabelle mit CSS-Klasse
- 27. Attatch eine CSS-Klasse zu meinem Cursor
- 28. Wie definieren Klasse in CSS
- 29. Crystal Reports Css-Klasse
- 30. Erstellen einer CSS-Klasse in jQuery
Hallo, und willkommen :) es ist immer am besten, einen Beispielcode auf dem, was Sie bereits versucht haben, zu posten. So wird es am einfachsten zu helfen –