Ich benutze einen benutzerdefinierten Kippschalter auf meiner Website, die ON oder OFF geschaltet werden kann. Abhängig davon, ob es ON oder OFF (aktiviert oder deaktiviert) ist, gibt es verschiedene CSS
Klassen, die auf den Switch angewendet werden und den Style ändern.temporäre CSS Änderungen durch Javascript
Ich möchte diesen Kippschalter on/off mit Javascript aktivieren. Eine Änderung des Status "checked/unchecked" ändert jedoch nichts. Dies führt dazu, dass ich den CSS
Stil des Schalters anpassen muss, um ihn z.B. AUS.
Dies führt jedoch zu dem Problem jetzt. Wenn ich die CSS
mit Javascript ändere, füge ich dem Element grundsätzlich Stile direkt hinzu. Dies führt dazu, dass der normale Kippschalter CSS
nicht mehr funktioniert, da der Elementstil jeden Klassenstil außer Kraft setzt. Wenn ich dem Switch eine zusätzliche Klasse zuweisen, überschreibt der normale Stil die Klasse. mit !important
ist keine Option, da es OFF/ON
dauerhaft zu bleiben Gibt es eine Möglichkeit CSS
auf ein Element anzuwenden, ohne die Standard CSS
Stil ändert sich automatisch zu deaktivieren? wie einen CSS
Stil einstellen, bis die nächste normale Änderung passiert?
HTML
<div class="onoffswitch active" id="recurringdiv">
<p>Recurring</p>
<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" checked="">
<label class="onoffswitch-label" for="myonoffswitch" data-click-state="0" id="recurringfield">
<span class="onoffswitch-inner custom1"></span>
<span class="onoffswitch-switch custom2"></span>
</label>
</div>
JS
$(document).ready(function() {
$('.onoffswitch-label').on('click', function() {
if ($(this).attr('data-click-state') == 1) {
$(this).attr('data-click-state', 0)
/*Click State 1 finish*/
} else {
$(this).attr('data-click-state', 1)
/*Click State 2 finish*/
}
});
});
<!-- This is the autopay -->
$(document).ready(function() {
$('.auto-onoffswitch-label').on('click', function() {
if ($(this).attr('data-click-state') == 1) {
$(this).attr('data-click-state', 0)
/*Click State 1 finish*/
} else {
$(this).attr('data-click-state', 1)
/*Click State 2 finish*/
}
});
});
CSS
.auto-onoffswitch-checkbox:checked + .auto-onoffswitch-label .auto-onoffswitch-switch {
right: 0px;
}
.auto-onoffswitch-switch {
display: block;
width: 18px;
margin: 6px;
background: #FFFFFF;
position: absolute;
top: 0;
bottom: 0;
right: 56px;
border: 2px solid #a9a9a9;
border-radius: 20px;
transition: all 0.3s ease-in 0s;
}
'.Automatisch-onoffswitch-Checkbox tun: geprüft + .Automatisch-onoffswitch-label .Automatisch-onoffswitch-Schalter', was das html ist? – epascarello
Fügen Sie Stile mit .css() hinzu? Wenn ich richtig verstehe, warum nicht einfach .addClass() verwenden, um eine Klasse hinzuzufügen? – MeltingDog
Recurring