从localStorage变量激活手风琴集
Accordion set active from localStorage variable
我有一个jQuery UI手风琴,我需要记住它的状态(最后打开的是哪个标头)。
这是我的挥杆:
var storedActive = localStorage.getItem("storedActive");
if (isNaN(storedActive)){
storedActive = false;
}
console.log(storedActive);
jQuery('#accordion').accordion({
heightStyle: "content",
collapsible: true,
header: 'h4',
active: storedActive,
activate: function(event, ui){
if(ui.newHeader.context){
storedActive = ui.newHeader.context.id.slice(-1); //getting id of clicked header
}else{
storedActive = false;
}
localStorage.setItem("storedActive", storedActive);
}
});
第5行中的这个console.log(storedActive)
证明了上次点击的标题的值被正确地记住并重新存储。问题是手风琴没有打开任何一个头部。
奇怪的是,当我手动设置值storedActive
时,accordon会按原样打开标题。它只是在从localStorage恢复值时出现了一些问题。
从localStorage获取变量时,我忘记使用parseInt。现在一切正常。谢谢!
var storedActive = parseInt(localStorage.getItem("storedActive"));
if (isNaN(storedActive)){
storedActive = false;
}
console.log(storedActive);
jQuery('#accordion').accordion({
heightStyle: "content",
collapsible: true,
header: 'h4',
active: storedActive,
activate: function(event, ui){
if(ui.newHeader.context){
storedActive = ui.newHeader.context.id.slice(-1); //getting id of clicked header
}else{
storedActive = false;
}
localStorage.setItem("storedActive", storedActive);
}
});
我使用这个:
$( ".accordion" ).accordion({
activate: function(event, ui) {
localStorage.setItem("AccordionId", $(this).accordion("option", "active"))
},
active: parseInt(localStorage.getItem("AccordionId"))
}
如果您的页面中有多个手风琴,请将"AccordionId"替换为此手风琴的唯一id。
它也适用于Jquery选项卡
相关文章:
- 激活chrome上的chrome.notifications对象
- 提示使用服务器端事件处理程序激活JavaScript
- 手风琴可点击并悬停
- 如何从外部页面激活非默认引导选项卡
- 选项卡侦听器未被来自后台脚本的消息激活
- 响应动画手风琴不工作
- 基于localStorage的Meteor激活模板
- 如何通过按键激活按钮应用CSS效果
- 如何只使用特定的表行构建简单的手风琴
- 在BoilerplateJS浏览器加载所有脚本(在其他模块中),而不考虑激活的模块
- JQuery-停止手风琴链接关闭所有选项卡
- 如何设置第一个手风琴面板关闭
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 获得多个手风琴部分以保持开放
- 从localStorage变量激活手风琴集
- jQuery手风琴:在点击跳跃链接时激活面板
- Ajax延迟加载,手风琴按钮未激活
- JQuery手风琴在文档加载时激活,而不是在点击时激活
- 当单击jQuery手风琴时激活javascript函数
- Jquery手风琴激活不工作