在开发中,经常遇到从一个网页跳转走之后,再返回的时候要定位到原来离开时候的位置的问题。这个问题很好解决,大概有三种方法:
1、锚点定位。就是在链接最末尾加上#posId的方法。这种方法简单有效,但是定位的时候比较生硬,一般很难满足人的视觉感受,而且不适用于ajax方式生成的页面。所以很少用到。
2、使用jquery对象的animate方法定位。此方法适用于任何形式加载的页面,且视觉效果可调。函数如下:
function toPosition(){
var url = window.location.href;
if(url.indexOf('#') != -1){
var posId = '';
posId = url.substring(url.indexOf('#'));
var scroll_h = $(''+posId+'').offset().top;
console.log(scroll_h);
$('html,body').animate({scrollTop: scroll_h}, 300);
}
}
在这个函数中,我们要得到需要定位的位置标签的id即可。定位的效果完全可以修改(参考animate()方法的用法)。
3、对于ajax生成的页面,可采用返回当前页面无刷新的方式。以后再写。