您的位置:首页 > 其它

从一个页面跳转到另一个页面的指定位置(带平滑移动的效果)

2011-05-24 10:26 316 查看
从一个页面跳转到另一个页面的指定位置 如果不带平滑移动的效果 很容易 加个 锚点就行了 比如 想跳到 mao.aspx 的页面 的div
id="s" 的位置 那么 只用<a href="mao.aspx#s"> 就可实现跳转到指定位置

现在为了增加用户体验 跳转到页面后 平滑移动到该位置 怎么做呢 其实也很简单啦 那边传递过来一个 要跳转到哪个div的参数就行

先上一段 页面获取参数的 通用js

//根据参数名获得该参数  pname等于想要的参数名
function getParam(pname) {

var params = location.search.substr(1); //  获取参数 平且去掉?

var ArrParam = params.split('&');

if (ArrParam.length == 1) {
//只有一个参数的情况
return params.split('=')[1];
}
else {
//多个参数参数的情况
for (var i = 0; i < ArrParam.length; i++) {

if (ArrParam[i].split('=')[0] == pname) {

return ArrParam[i].split('=')[1];
}
}
}

}


代码很简单 就是根据当前url 获取其中想要的参数的值

$(function() {
var mao = $("#" + getParam("m")); //获得锚点
if (mao.length > 0) {//判断对象是否存在
var pos = mao.offset().top;
var poshigh = mao.height();
$("html,body").animate({ scrollTop: pos-poshigh-30 }, 3000);
}
});


上面就是平滑移动到 想要的位置 pos-poshigh-30 这个是可以调整的 我是觉得减到30毕竟好~~

很简单的效果 不上代码例子了 自己写着玩~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: