随笔 - 27  文章 - 0  评论 - 909  阅读 - 49万

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

从一个页面跳转到另一个页面的指定位置 如果不带平滑移动的效果 很容易 加个 锚点就行了  比如 想跳到 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毕竟好~~

很简单的效果  不上代码例子了 自己写着玩~

posted on   wlf  阅读(7235)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2011年5月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
5 6 7 8 9 10 11

点击右上角即可分享
微信分享提示