我创建了一个自定义动画复选框,看起来像一个开关。我使用类名来修改我的复选框的动画。这里是我的代码:复选框必须点击两次以执行动画
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');
}
}
它成功地工作,但不是完美的,因为在复选框的初始点击(页面加载之后的意思),你必须点击两次才能执行第一个动画。我试过event.stopPropagation()
但它仍然是一样的。我也试过event.preventDefault()
,但它只适用于第一个动画。
嗨,请尝试更改,如果条件$('。cb')。检查删除'!'。 – Ninjaneer
[元素] .checked将在检查输入后立即为真。 – Ninjaneer
@RohithKP'$(this)'将引用文档。 – SLePort