我编写了一个多级推送菜单的脚本,但我已经碰壁了。
结构:
菜单链接1 - >打开菜单B
菜单A链接2 - >打开菜单C
等
当我点击链接1时,它打开菜单B,当我点击链接2时,它关闭菜单B并打开菜单C.确定
当我点击链接1时,它会打开菜单B,但是当我再次点击链接1时,我只希望它关闭所述菜单而不再打开它。
所以我存储了该级别的打开菜单(div存储在全局var $ 2real中)并存储目标菜单以打开同一级别(div存储在全局var $ 2target中)和I在调用函数打开菜单之前添加了一个if($ 2target!= $ 2real)(因此它不会再次打开相同的菜单)。
使用console.log我可以看到$ 2target实际上是$ 2real,但无论如何都是if。我测试使用(1!= 1)并且它有效,所以我猜问题是($ 2target!= $ 2real)。
我可以发布代码,但它变得非常大。 (并且不非常漂亮,因为我没有太多经验)
答案 0 :(得分:0)
答案 1 :(得分:0)
我在我的一个项目中这样做。我的代码看起来像这样
function toggleSublinks(link){
var href = $(link).attr('href');
$target = $(href);
if($target.hasClass('active')){
$target.slideUp().removeClass('active');
} else {
$('.top-link').slideUp().removeClass('active');
$target.slideDown().addClass('active');
}
}
然后在on document ready函数
中$('.top-link').click(function(e){
e.preventDefault();
toggleSublinks(this);
});