私はスイッチのように見えるカスタムアニメーションのチェックボックスを作成しました。私は自分のチェックボックスのアニメーションを変更するためのクラス名を使用しました。ここに私のコードです:アニメーションを実行するにはチェックボックスを2回クリックする必要があります
HTML
<label>
<input class="cb" type="checkbox">
<div class="ball"></div> <!-- don't mind this -->
</label>
Javascriptを
var $ = document.querySelector.bind(document);
$('label').onclick = function() {
if(!$('.cb').checked) {
this.classList.add('clicked');
} else {
this.classList.remove('clicked');
}
}
それは理由(ページロード後に意味)チェックボックスの最初のクリックで、完璧に成功働いたが、ではない、あなたを最初のアニメーションを実行するには2回クリックする必要があります。私はevent.stopPropagation()
を試しましたが、それはまだ同じです。私もevent.preventDefault()
を試しましたが、それは最初のアニメーションでしか動作しませんでした。
こんにちは、条件を$( '.cb')に変更してみてください。 – Ninjaneer
[要素] .checkedは、入力を確認した直後にtrueになります。 – Ninjaneer
@RohithKP '$(this)'はドキュメントを参照します。 – SLePort