1 回答
TA贡献1833条经验 获得超4个赞
SlideToggle 无法按预期工作。它忽略复选框状态
确实如此,因为slideToggle()令人烦恼的是,它不以同样的方式接受布尔值toggle()。因此,您需要检查复选框的状态并单独使用slideDown()和。slideUp()
当页面加载时,会显示 div,我需要将其隐藏,并且仅在选中复选框时才显示
在这种情况下,使用 CSS 隐藏加载时的元素,因为它不需要像 JS 那样首先加载页面。如果您想在加载时显示内容而不使用幻灯片动画,请使用show().
这是一个完整的工作示例:
jQuery($ => {
let $toggle =$('#toggle1').change(e => {
$('#details1')[e.target.checked ? 'slideDown' : 'slideUp']();
})
if ($toggle.is(':checked'))
$('#details1').show();
});
#details1 {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="toggle1" checked />
<div id="details1">Lorem ipsum dolor sit consectetur adipiscing elit</div>
添加回答
举报