应用slideToggle时链接不起作用

时间:2015-12-29 11:24:24

标签: javascript jquery html

在应用slideToggle功能时链接不起作用。下面是我的演示网站的链接。

http://codezigns.com/teyseer_laboratory/htm/toggle.html

我的脚本是

$(".nav li > a").click(function(e) {
        $(this).parent().siblings().find('ul').slideUp(500);
        $(this).next('ul').stop().slideToggle(300);
        return false;
    });

还包括

$(".trigger").click(function(e) {
        e.preventDefault();
        $(".main-nav > ul").slideToggle(300);
    });

链接应用于父项“Tutorial”和子项“Photoshop”。

3 个答案:

答案 0 :(得分:0)

return false; a活动中移除click。它阻止了重定向。

答案 1 :(得分:0)

这种情况正在发生,因为您在a点击事件中返回false,您应该排除链接返回false,您应该在真实链接中添加一个类并将其排除在函数之外:

HTML

<nav class="nav">
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">Tutorials</a>
            <ul>
                <li><a class="reallink" href="https://www.google.co.in/">Photoshop</a></li>
                <li><a href="#">Illustrator</a></li>
                <li><a href="#">Web Design</a></li>
            </ul>
        </li>
        <li><a href="#">Articles</a></li>
        <li><a href="#">Inspiration</a></li>
    </ul>
</nav>

JS:

   $(".nav li > a:not(.reallink)").click(function(e) {
        $(this).parent().siblings().find('ul').slideUp(500);
        $(this).next('ul').stop().slideToggle(300);
        return false;
    });

希望有所帮助

答案 2 :(得分:0)

问题是,您为每次false点击返回a。尝试以下。希望这会对你有所帮助。

$(".nav li > a").click(function (e) {
    if(this.href.indexOf('#') > -1) {
        $(this).parent().siblings().find('ul').slideUp(500);
        $(this).next('ul').stop().slideToggle(300);
        return false;
    }
});