我有这个非常简单的页面,菜单包含三个<ul>s和内容div:http://jsfiddle.net/vvqPN/
jQuery的:
$(document).ready(function () {
$('.subcontent:gt(0)').hide();
$('#menu').on('click', 'li:not(.current) a', function () {
$('.current').not($(this).closest('li').addClass('current')).removeClass('current');
// fade out all open subcontents
$('.subcontent:visible').hide(600);
// fade in new selected subcontent
$('.subcontent[id=' + $(this).attr('data-id') + ']').show(600);
});
});
Run Code Online (Sandbox Code Playgroud)
在页面中,当您单击第<ul>一个内容时,第一个内容加载到内容div中,然后当您单击第二<ul>个内容时,第二个内容将加载到内容div中,而第三个内容则加载相同的内容.我试图解决的问题是,当您在页面中向下滚动并尝试单击任何<ul>页面时,页面会自动返回到页面顶部.
使用preventDefault();禁用的锚标记(链接到的东西)的默认行为.
$('#menu').on('click', 'li:not(.current) a', function (event) { //Add event
event.preventDefault();
...
});
Run Code Online (Sandbox Code Playgroud)