如图使用jquery设计下拉菜单,默认子菜单隐藏,点击父菜单,展开子菜单,子菜单是超链接,怎么设计?

点击子菜单的任何一个链接,子菜单都保持展开状态;请js大侠们给点设计方案,我做的点击子菜单链接后因为刷新了网页,所有子菜单都又会被隐藏。... 点击子菜单的任何一个链接,子菜单都保持展开状态;请js大侠们给点设计方案,我做的点击子菜单链接后 因为刷新了网页,所有子菜单都又会被隐藏。 展开
 我来答
dokl1985
2013-09-22 · 超过19用户采纳过TA的回答
知道答主
回答量:82
采纳率:100%
帮助的人:48.6万
展开全部
页面刷新了,肯定重置了~
两个思路吧:1、用cookie把点击状态记录下来,菜单加载后根据cookie的值展开对应菜单
2、点击事件的连接做到iframe里,点击只改变iframe的src
追问
感觉使用cookie 有点麻烦,能不能 通过截取 url 一部分来判断
xqqlxm
2013-09-22 · TA获得超过338个赞
知道小有建树答主
回答量:533
采纳率:100%
帮助的人:228万
展开全部
$(function(){
$(".sbubar span.cur_1").next(".subMenu").show();
$(".sbubar span").click(function(event){
$(".sbubar>span").removeClass("cur_1");
$(this).toggleClass("cur_1");
var that = $(this).next(".subMenu")
if(that[0]){
that.slideToggle().siblings(".subMenu").slideUp();
//$(".subMenu").prev().addClass("cur_1");
}
else{
$(".subMenu").slideUp();
$(".subMenu").prev().removeClass("cur_1");
}

});
$(".subMenu b.cur_2").next(".subMenu_cont").show();
$(".subMenu b").click(function(event){
$(".subMenu>b").removeClass("cur_2");
$(this).toggleClass("cur_2");
var that = $(this).next(".subMenu_cont")
if(that[0]){
that.slideToggle().siblings(".subMenu_cont").slideUp();
}
else{
$(".subMenu_cont").slideUp();
$(".subMenu_cont").prev().removeClass("cur_2");
};

});
});

这个只是示例,具体的看你标签的命名了
追问
这个页面刷新后,应该还是会还原吧?
追答
不会的。我现在页面也是使用这个的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hexu55521
2013-09-22
知道答主
回答量:42
采纳率:0%
帮助的人:12.5万
展开全部
先给你一个思路吧:
你设计html的时候,就默认将子菜单全部隐藏,监听点击父菜单的事件,当点击的时候将子菜单显示出来,至于子菜单的超链接,你只需要给他加一个<a> 标签就可以了。

ps:如果需要帮忙设计源代码,可以追问。建议自己实现,映象深刻。
更多追问追答
追问

你说的基本也是我的设计方法,但是子菜单里装的是超链接,一旦点击子菜单的超连接之后,页码肯定会刷新,但刷新之后,当前 装当前连接的 子菜单容器 就会重新 初始化被隐藏,我试着在点击超链后 将当前超链的 子菜单容器 设置成显示,但是前一个页面的点击 并不能设置后一个页面某节点的样式。

这是我的代码,点击任何链接到新页面,dd都会再次被隐藏。

追答
那你可以尝试,这里不用标签
用一个普通的标签,监听点击事件,在js里用ajax去做,这样页面只是局部刷新,就不会出现你现在的问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式