如何在不重新加载页面的情况下设置哈希?

时间:2014-02-12 07:50:50

标签: jquery

我有这个代码来切换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;
});

1 个答案:

答案 0 :(得分:3)

location.hash是正确的。改变它不会重新加载页面。 .leftPass是否有机会链接?如果是,请在事件处理程序中调用e.preventDefault()e应该是函数的第一个参数:

$('.leftPass').click(function(e) {
    e.preventDefault();
    // ...
});