首先,我是一个完整的jquery,我需要的是修改脚本。现在我有子菜单,当我打开它并打开链接时,它会崩溃,我想要的是当我打开子菜单项链接时,子页面仍会在页面重新加载时打开,是否可能
这是指向我使用http://thecodeplayer.com/walkthrough/vertical-accordion-menu-using-jquery-css3
的菜单脚本的链接/*jQuery time*/
$(document).ready(function(){
$("#accordian h3").click(function(){
//slide up all the link lists
$("#accordian ul ul").slideUp();
//slide down the link list below the h3 clicked - only if its closed
if(!$(this).next().is(":visible"))
{
$(this).next().slideDown();
}
})
})
答案 0 :(得分:1)
我更愿意添加和删除类
$(document).ready(function(){
$("#accordian").each(function(position){
var container = $(this);
var containerId = container.attr("id");
if (! containerId){
container.attr("id", position);
containerId = position;
}
if ($.cookie('expanded_'+ containerId) == 'true')
container.addClass("expanded");
});
$("#accordian h3").click(function(){
//slide up all the link lists
var title = $(this);
var container = title.closest("div");
var containerId = container.attr("id");
if (container.hasClass("expanded")){
container.children("ul").slideUp();
container.removeClass("expanded");
$.cookie('expanded_'+ containerId,'false')
} else {
container.children("ul").slideDown();
container.addClass("expanded");
$.cookie('expanded_'+ containerId,'true')
}
})
})
页面重新加载问题与Cookie http://lineadecodigo.com/jquery/usando-cookies-con-jquery/
有关另外,我建议做“手风琴”一个班而不是一个ID
答案 1 :(得分:0)
你可以使用cookies,但我建议不要使用它们来做这么简单的事情。
只需在网址中添加一个哈希标记,然后让菜单对其做出反应。
点击事件触发时,使用如下字符串触发setHash:setHash(“task”)
function setHash(str)
{
try
{
window.location.hash=str;
}
catch(err){/*if you want error reporting add it here*/}
}
然后用以下方法检查:
if(window.location.hash == something)
{
//open menu here
}
我没有为手风琴添加代码,但您应该可以访问其API。 还要注意jQueryUI有一个折叠所有功能的手风琴:)
http://jqueryui.com/accordion/
使用jQueryUI手风琴作为初学者可能会更容易,因为大部分工作已经完成。