hashchange阻止滚动到目标div

时间:2013-08-27 14:13:45

标签: javascript jquery hashchange

我有一个手风琴元素,我需要在hashchange上扩展不同的窗格。我制作的代码扩展了它,但它没有滚动目标div,页面永远不会结束加载。

function hashChange() {
    if (window.location.hash === '#senior-backend') {
        $('#senior-backend, #backend-developer, #senior-frontend, #frontend, #dev-ops').hide(50);
        $('#senior-backend').show(50);
        $('#job-posts').removeClass().addClass('beige-bg');
        $('#job-posts-top').removeClass().addClass('beige-spikes');
    } 
}

window.onhashchange = hashChange;

请指出我做错了什么。

由于

1 个答案:

答案 0 :(得分:1)

一旦检测到哈希值发生变化,您需要使用animate滚动网站,例如:

var dest = $('#yourSelector').position();
var dtop = dest.top;

$('html, body').animate({
    scrollTop: dtop
});

生活演示:http://jsfiddle.net/LZbK8/