jQuery动画
能不能点击第几楼的导航的时候让它滚动回到第几楼,就是让它有个滚动的动画,求回答
能不能点击第几楼的导航的时候让它滚动回到第几楼,就是让它有个滚动的动画,求回答
2016-10-05
$(function(){
$("ul li a").click(function(){
var hr = $(this).attr("href");
var anh = $(hr).offset().top;
$("html,body").stop().animate({scrollTop:anh},2000);
})
})
同一个页面中做锚链接,可以点击元素,让页面跳到指定位置。
现在做的这个效果,不是突默认的瞬间跳到指定位置,而是滑动。这样的用户体验会好些。
思路:
1.获取到需要跳到页面地方的元素,想对于页面顶部的距离 $(hr).offset().top;
2.将这个值给html或body元素,让其滚动条,执行一个animate动画。这个动画,是改变浏览器滚动条相对顶部的值。
注意:
1.$(this).attr("href");这返回期,正好可以做为JQuery的选择器。
2..stop()防止不停点击,会不停产生动画列队的bug.
http://www.cnblogs.com/lufy/archive/2012/05/15/2501153.html 可以参考这个理解
举报