【问题标题】:jquery toggle making links work eraticallyjquery切换使链接工作不规律
【发布时间】:2014-01-09 09:38:12
【问题描述】:

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

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");
});

这是我一直在尝试调整的最新代码,在此之前导航中的任何链接都无法正常工作。请帮忙,谢谢。

【问题讨论】:

  • 澄清一下,我希望他们在手机上点击“服务”并让它展开列表,但它会打开服务页面。
  • 在这里工作正常 - jsfiddle.net/K3uEc。由于链接中没有 url,我看不到它如何导航到另一个页面?
  • 我正在将其实现到我正在研究的 wordpress 主题中。在我链接在顶部的示例中,该链接确实有一个 url

标签: jquery navigation toggle anchor


【解决方案1】:

试试:

$('#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();

    });

【讨论】:

  • 我只希望具有子菜单的链接在单击时不起作用,当我尝试这样做时,它会使所有链接都无法单击,这也会使子菜单在单击时无法切换。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-20
  • 2011-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多