我有这个代码来切换div的内容,并且需要在url中使用哈希,但是使用行document.location.hash = a;
,页面将重新加载。如何在不重新加载页面的情况下设置哈希?
$('.leftPass').click(function() {
var a = $(this).attr('id');
var b = 'chapters/' + a + '.php';
$('#storyR').load(b);
$("html, body").animate({
scrollTop: 0
}, 1000);
$('.leftAct').removeClass('leftAct').addClass('leftPass');
$(this).removeClass('leftPass').addClass('leftAct');
document.location.hash = a;
});
答案 0 :(得分:3)
location.hash
是正确的。改变它不会重新加载页面。 .leftPass
是否有机会链接?如果是,请在事件处理程序中调用e.preventDefault()
。 e
应该是函数的第一个参数:
$('.leftPass').click(function(e) {
e.preventDefault();
// ...
});