jquery切换使链接工作不规律

时间:2014-01-09 09:38:12

标签: jquery navigation toggle anchor

我正在努力使导航切换到点击,但是当我在我的移动设备上测试时,它会打开链接,而不是仅显示嵌套列表。我尝试了很多不同的东西,并广泛搜索了这个网站,但我无法弄明白。

http://www.duddywebdesign.com/doti< - 这是测试网站,这是标记

<nav>
    <a href="#" id="menu-button" id="showmenu">&#9776; Menu</a>
    <ul class="menu">
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Services</a>
            <ul>
                <li><a href="#">Microdermabrasion</a></li>
                <li><a href="#">LED</a></li>
                <li><a href="#">Massage</a></li>
                <li><a href="#">Acupuncture</a></li>
                <li><a href="#">Energy Work</a></li>
                <li><a href="#">Packages</a></li>
            </ul>
        </li>
        <li><a href="#">Blog</a></li>
    </ul>
</nav>

这是jquery:

$('#menu-button').click(function() {
    $('.menu').slideToggle('fast');
    return false;
});
$( "li" ).has( "ul" ).addClass( "cursor" );     
$('nav ul li a').click(function(e) {
    if ($(this).hasClass("cursor")) {
        e.preventDefault();
    }   
    $(this).next("ul").slideToggle("fast");
});

这是我一直试图调整的最新代码,之前导航中的所有链接都不会起作用。请帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

尝试:

$('#menu-button').click(function(e) {
        $('.menu').slideToggle('fast');
        return false;
    });

    $( "li" ).has( "ul" ).addClass( "cursor" );

    $('nav ul li a').click(function(e) {
        if ($(this).hasClass("cursor")) {
             $(this).next("ul").slideToggle("fast");

    }
      e.preventDefault();

    });