我的 javascript 语句不会运行其 else 语句,即使未选中复选框
My javascript statement won't run its else statement even though checkbox isn't checked
我有一个复选框,每次单击标签时都应该选中该复选框。但是,js 只会运行初始 if 语句。之后,当 .menu-bar-checkbox.checked 为 false 时,else 语句将不会运行。我看到复选框被选中。
所以基本上,在标签淡入后,我也无法让它在点击后进行动画处理。感谢您的帮助!
我的网页:
<ul class="ul-links">
<li class="hide li-portfolio"><a href="index.html" class="selected">Portfolio</a></li>
<li class="hide"><a href="about.html">About</a></li>
<li class="hide li-contact"><a href="contact.html">Contact</a></li>
</ul>
<label class="no-pull menu-bar">
Menu
<input class="menu-bar-checkbox" type="checkbox">
</label>
我的js:
$(function() {
var $hide = $('.hide');
$hide.hide();
$('label').on('click', function() {
if ($('.menu-bar-checkbox').checked = true) {
$hide.fadeIn(1000);
} else {
$('.ul-links').animate ({
height: 0,
}, 1000)
}
});
})
更改:
($('.menu-bar-checkbox').checked = true)
自:
($('.menu-bar-checkbox')[0].checked == true)
使用==
检查一个值与另一个值。$('.menu-bar-checkbox')
返回与class selection
匹配的复选框列表。(在您的情况下只有一个)。使用[0]
解决正确的问题。
并且完全在jQuery中(如评论中所建议的)
($('.menu-bar-checkbox').is(':checked'))
注意:jQuery将在具有类
.menu-bar-checkbox
并被选中的每个复选框上触发。带有[0]
的复选框只会在列表中的第一个复选框selected
触发。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- Jquery 多个复选框 if 语句
- 带有复选框 (html) 的 If/Then 语句
- 我的 javascript 语句不会运行其 else 语句,即使未选中复选框
- JQuery if 语句未正确检测跨度复选框
- if 语句在 jQuery/Javascript 中带有复选框
- 使用switch语句中的复选框
- Javascript复选框疯狂if语句
- 当复选框被选中时,If语句
- JavaScript -使用"checked/unchecked复选框"IF ELSE条件语句
- Jquery多个复选框值的条件语句
- 复选框“切换语句”的值为空
- JavaScript if语句没有在复选框字段中注册
- Javascript在for语句中创建多个复选框
- Jquery中的LocalStorage,复选框语句存储