哈希更改事件保持滚动状态

时间:2012-03-28 16:55:07

标签: javascript ajax navigation

在使用HTML5 onHashChange进行AJAX导航时,有没有办法保持用户的滚动状态?

例如 - 我有一个25个项目的Twitter提要,用户向下滚动到第25个项目并触摸该框。然后屏幕查看单个推文。如果用户触摸后面,那么它将使用onHashChange将页面更改回正确的哈希值,使用history.go(-1)。但是,此过程将自动向上滚动到页面顶部 - 而不是保持滚动状态,这使用户保持在第25位。

有没有办法解决这个问题?我的代码示例如下:

<a href="#page-2">Page 2</a>
<a href="#page-3">Page 3</a>

$(window).bind('hashchange', function(){

    newHash = window.location.hash.substring(1);

    if (newHash){

        $(".page").hide();

        $("#"+newHash).show();
    }
    else
    {
           $(".page").hide();
           $(".page:first).show();
    }


});

$(window).trigger('hashchange');

0 个答案:

没有答案