锚点链接和平滑滚动到指定位置

今天遇到一个要跳转到别的页面的固定区域的问题,想过把第一个页面的参数存入cookie,在下一个页面在取出用,但这样就有点麻烦了......

请教了同事,换了一种思路。

先给跳转的的a标签加了参数(如果直接锚点可以写成xx.html + # + id

xx.html+?+参数(这里用的)

锚点链接和平滑滚动到指定位置


这个方法是获得页面url的某个url参数的方法

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");

这个正则是寻找&+url参数名字=值+&
&可以不存在。
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;

这里是开始匹配,找到了返回对应url值,没找到返回null。

锚点链接和平滑滚动到指定位置


上面第二个是一个加载程序,获取到about的参数,传到goAnchor(id) ,执行平滑滚动id相对应的位置。srcollTop的id要写成拼接的$("#about_"+id),so...相应位置id为#about_1,#about_2...

锚点链接和平滑滚动到指定位置

写在题外话:

以前总以为这一步需要后端做,自己没有仔细查,或者说查了也没好好弄懂,人啊,还得在工作中发现问题,吃透问题,才能进步。

ps:也许上面讲的有些不清楚,可以留言讨论,或者多查一些相互印证!