JQuery 调用不应在点击时调用的函数

JQuery calls function that shouldn't be called onclick?

本文关键字:调用 函数 JQuery      更新时间:2023-09-26

看看这个JSFiddle:http://jsfiddle.net/kZ3Af/25/

我很好地固定了基本导航。但是,当我尝试单击任何导航项时,整个菜单消失了?这是怎么回事?

你为什么要做

$('.navcontent').hide();

请参阅更新 30。

[两分钟后...]

好的,我想我明白了:您想在列表interiorexterior之间切换。我稍微重组了你的 HTML(不要把<div> s放进<a>),这就是为什么你的样式有点偏离。然后我按照 Steven Lu 的建议更改了选择器:尝试更新 36

您正在调用$('.navcontent').hide();,它隐藏了您与类navcontent的所有<ul>,这就是整个菜单消失的原因。

您的陈述:

$('#column1 a').click(function(){
    switchlist($(this));
});

匹配所有链接的内部内容,导致您的switchlist函数被触发。

您需要用新 id 包装顶部导航,并将选择器更改为类似

$('#topnav a').click();

您可以在单击处理程序中调用$('.navcontent').hide();。只需删除它,它应该可以工作。

选择直接锚定子项:$('#column1> a').单击