一次。我有一个菜单,我正在建设。一切正常,除了当我点击其中一个主要类别时,页面跳回到顶部。我想阻止这种情况,但我担心使用preventDefault()会阻止其他链接正确加载。
这是代码..
的jQuery
$(document).ready(function() {
// Collapse everything but the first menu:
$("#nav_menu > li > a").find("+ ul").slideUp(1);
// Expand or collapse:
$("#nav_menu > li > a").click(function() {
$(this).find("+ ul").slideToggle("fast");
});
});
标记
<ul id="nav_menu">
<li><a href="#">Main Cat 1</a>
<ul>
<li><a href="whatever.php">Subcat 1</a></li>
<li><a href="whatever.php">Subcat 2</a></li>
</ul>
</li>
<li><a href="#">Main Cat 2</a>
<ul>
<li><a href="whatever.php">Subcat 1</a></li>
<li><a href="whatever.php">Subcat 2</a></li>
</ul>
</li>
</ul>
对此有任何帮助将不胜感激! :)
答案 0 :(得分:2)
您需要调用preventDefault
函数,以便a
元素不会触发href。
$(document).ready(function() {
// Collapse everything but the first menu:
$("#nav_menu > li > a").find("+ ul").slideUp(1);
// Expand or collapse:
$("#nav_menu > li > a").click(function(e) {
e.preventDefault();
$(this).find("+ ul").slideToggle("fast");
});
});