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>
添加回答
舉報