0

我有一个 div 结构,我在整个包装器 div 上调用 slideToggle 以展开/折叠 div 的内容。

我想根据用户离开 div 的状态来存储 div 的状态(打开或关闭)。

在下面的代码中,无论 div 组的展开/折叠如何,控制台的 alert(localStorage.getItem('widgetPreview')) 始终返回可见:

$('#myDiv').on('click',function(){
    $(this).children().slideToggle();
    if((this).children().is(':visible')){
        localStorage.setItem('widgetPreview','visible');
    }
    else
    {
        localStorage.setItem('widgetPreview','hidden');
    }
}
4

1 回答 1

1
$('#myDiv').on('click',function(){
    $(this).children().slideToggle().promise().done(function() {
        var vis = $(this).is(':visible') ? 'visible' : 'hidden';
        localStorage.setItem('widgetPreview', vis);
    });
});
于 2013-02-27T22:13:16.213 回答