我查看了一些较旧的问题,并了解到要解决这个问题,我需要实现cookie,并以某种方式记住状态。作为jquery的新手,实现这一点对我来说有点棘手。
这是我的javascript代码:
$(document).ready(function(){
$('.trthJobStatus caption').click(function() {
$('.trthJobStatus th,.trthJobStatus td').slideToggle('1000');
});
});
任何人都知道如何使用Cookie记住状态并避免在刷新页面时更改切换状态?
提前致谢!
答案 0 :(得分:2)
我非常喜欢使用localStorage而不是cookie,特别是如果你的应用程序需要与设备无关。请注意,下面的代码在不再需要时不会重置localStorage var。
$(document).ready(function(){
if(localStorage['trthJobStatus']){
$('.trthJobStatus th,.trthJobStatus td').slideToggle('1000');
}
$('.trthJobStatus caption').click(function() {
localStorage['trthJobStatus'] = true;
$('.trthJobStatus th,.trthJobStatus td').slideToggle('1000');
});
});
编辑:这是有效的解决方案!
$(document).ready(function(){
if(window.localStorage.getItem('trthJobStatus') === 'true'){
$('.trthJobStatus th,.trthJobStatus td').slideUp('1000'); }
$('.trthJobStatus caption').click(function(){
if(window.localStorage.getItem('trthJobStatus') === 'true'){ window.localStorage.setItem('trthJobStatus', 'false'); }else{
window.localStorage.setItem('trthJobStatus', 'true');
}
console.log(window.localStorage.getItem('trthJobStatus'));
$('.trthJobStatus th,.trthJobStatus td').slideToggle('1000'); });
});