Ajax地址仍然是滚动位置

时间:2011-08-28 17:07:53

标签: jquery ajax jquery.address

我正在使用jquery.address插件使用Ajax动态加载我的#content。我也正在使用一些效果加载新的#content(即旧的#content飞出来,新的从顶部进入,或从侧面等)但我认为这不是问题..

问题是,在ajax请求之后,滚动位置不会保留,页面会跳回到顶部。

那有插件/灵魂吗?我读到将当前位置存储在cookie中并使用$(“html,body”)。animate({scrollTop:x},t);有助于。但是,有没有更好或更简单的方法来实现这一目标?

事先谢谢!

麦克

修改

解决:找到解决方案是(注释掉.focus()):

 // Selects the proper navigation link
 $('#menu a').each(function() {
   //console.log($(this).attr('href'));
     if (($(this).attr('href') == ($.address.state() + event.path)) {
       //$(this).addClass('selected').focus(); // .focus() needs to be commented out in order to prevent to set the focus back to this class
       $(this).addClass('selected');
     }
     else {
       $('#menu ul li').removeClass('current-menu-item');
       $(this).removeClass('selected');
     }
 }); 

1 个答案:

答案 0 :(得分:0)

这与IE有关,我做同样的事情但在firefox中正常工作。 AFAIK保存位置并像你一样使用scrollTop,可能是IE的唯一工作场所。