Javascript 单击链接后,菜单不会折叠

Javascript 单击链接后,菜单不会折叠,javascript,html,css,Javascript,Html,Css,我的折叠菜单有问题。当我在手机屏幕上点击某个菜单项时,菜单不会折叠 JS代码: $(function() { var pull = $('#pull'); menu = $('nav ul'); menuHeight = menu.height(); $(pull).on('click', function(e) { e.preventDefault(); menu.slideToggle()

我的折叠菜单有问题。当我在手机屏幕上点击某个菜单项时,菜单不会折叠

JS代码:

$(function() {  
    var pull = $('#pull');  
    menu = $('nav ul');  
    menuHeight = menu.height();  
    $(pull).on('click', function(e) {  
            e.preventDefault();  
            menu.slideToggle();
    });  
 });  
$(window).resize(function(){  
    var w = $(window).width();  
    if(w > 460 && menu.is(':hidden')) {  
       menu.removeAttr('style');  
    }  
});
HTML代码:

<nav class="clearfix">  
    <ul class="clearfix">  
        <li><a href="#top">Top</a></li>  
        <li><a href="#about">About</a></li>  
        <li><a href="#sessions">Sessions</a></li>  
        <li><a href="#contact">Contact</a></li>
        <li><a href="login.html">Login</a></li>
        <li><a href="#" style="color:#43b3e0;">Menu 1</a></li>
        <li><a href="#" style="color:#43b3e0;">Menu 2</a></li>    
    </ul>  
    <a href="#" id="pull"><img style="width:30px; height:30px; margin-top:10px;" src="images/collapse.png"></a>
    <div class="logo">
        <img src="images/logo.png"> 
    </div> 
</nav>  


触发事件的唯一方法似乎是在id为“pull”的元素上单击onclick。也许您需要为每个“a”元素添加相同的事件。 为了更好地控制“a”元素,可以为每个元素分配一个id

示例(html):

检查此链接

http://jsfiddle.net/H3KRk/5/

/$('.nav>ul').toggleClass('no-js');
$('.nav.js ul').hide();
$(文档)。在(“单击”)上,函数(e){
变量$elem=$(e.target);
if($elem.hasClass('clicker')){
$('.nav.js ul').not($elem.next('ul')).hide();
$elem.next(“ul”).slideToggle();
}否则{
$('.nav.js ul').hide();
}
});
.nav{
宽度:1024px;
保证金:0px自动0px自动;
背景:#757575;/*旧浏览器*/
背景:-莫兹线性梯度(顶部,#7575 0%,#4747%,#111111 47%,#000000 100%);/*FF3.6+*/
背景:-webkit渐变(线性、左上、左下、颜色停止(0%、#757575)、颜色停止(47%、#474747)、颜色停止(47%、#111111)、颜色停止(100%、#000000));/*铬、Safari4+*/
背景:-webkit线性梯度(顶部,#757575 0%,#4747%,#111111 47%,#000000 100%);/*Chrome10+,Safari5.1+*/
背景:-o-线性梯度(顶部,#757575 0%,#474747%,#111111 47%,#000000 100%);/*Opera 11.10+*/
背景:-ms线性梯度(顶部,#7575 0%,#4747%,#111111 47%,#000000 100%);/*IE10+*/
背景:线性梯度(至底部,#7575 0%,#4747%,#111111 47%,#000000 100%);/*W3C*/
过滤器:progid:DXImageTransform.Microsoft.gradient(startColorstr='#757575',endColorstr='#000000',GradientType=0);/*IE6-9*/
}
美国海军{
保证金:0px 0px 0px 0px;
填充:0px 0px 0px 0px;
}
李国荣先生{
位置:相对位置;
显示:内联;
列表样式:无;
保证金:0px 13px 0px 0px;
填充:0px 0px 0px 0px;
线高:40px;
光标:指针;
}
纳夫·乌尔·李·乌尔{
位置:绝对位置;
左:0;
右:0;
宽度:1024px;
填充:0px 0px 0px 0px;
/*填充:14px 15px 14px 15px*/
背景#f1f1;
}
.导航遥控器{
背景:无;
}
.nav ul.clicker:悬停{}
李丽娜先生{
/*显示:块;
填充:8px 10px 8px 40px*/
颜色:#ffffff;
文字装饰:无;
背景:无;
}
.nav ul li a:悬停{
背景#f2f2;
}
.导航ul.激活{
背景:#f00;
}
#内容持有者{
填充:9px 13px 9px 13px;
宽度:998px;
背景:#中交;;
}
/*退路*/
.导航号js ul{
显示:无;
}
/*
.导航号js:hover ul{
显示:块;
}
*/
.nav>.no js>li:hover>ul{
显示:块;
}

  • -->
    菜单链接上没有任何事件

    $('nav ul li').on('click', 'a', function(){
        menu.slideToggle();
    })
    

    执行此操作时,“开发”窗口中是否有错误?没有,没有错误。除此之外,一切正常。以下是网站链接:
    var link = $('#aTop');
    .
    .
    .
    $(link).on('click', function(e) {  
            e.preventDefault();  
            menu.slideToggle();
    });  
    
    $('nav ul li').on('click', 'a', function(){
        menu.slideToggle();
    })