在应用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”。
答案 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;
}
});