我正在使用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');
}
});
答案 0 :(得分:0)
这与IE有关,我做同样的事情但在firefox中正常工作。 AFAIK保存位置并像你一样使用scrollTop
,可能是IE的唯一工作场所。