CSS属性值是逐渐改变的,这样就可以创建动画效果。 只有数字值可创建动画(比如 "margin:30px")。 字符串值无法创建动画(比如 "background-color:red")。
复制代码 代码如下:
$(‘#shang‘).click(function(){$(‘html,body‘).animate({scrollTop: ‘0px‘}, 800);});
上面的代码表示滚动条跳到0的位置,页面移动速度是800。 结合scrollTop实用示例:
复制代码 代码如下:
jQuery(document).ready(function($){ $(‘#shang‘).click(function(){ $(‘html,body‘).animate({scrollTop: ‘0px‘}, 800); }); $(‘#comt‘).click(function(){ $(‘html,body‘).animate({scrollTop:$(‘#comments‘).offset().top}, 800); }); $(‘#xia‘).click(function(){ $(‘html,body‘).animate({scrollTop:$(‘#footer‘).offset().top}, 800); }); });
表示点击相关ID移动到指定位置: 点击ID为shang的元素,回到顶部; 点击ID为comt的元素,回到ID为comments的位置; 点击ID为xia的元素,回到底部;
原生js如何实现jQuery.animate中的scrollTop方法
radical 2016年12月02日提问
- 关注 4 关注
- 收藏 0 收藏,1k 浏览
问题对人有帮助,内容完整,我也想知道答案 0 问题没有实际价值,缺少关键内容,没有改进余地
网上找不到一个好的介绍来实现,
$(‘html, body‘).animate({
scrollTop: 800
}, 1000)
怎么控制这个scrollTop的 时间呢?
- 2016年12月02日提问
- 评论
- 邀请回答
- 编辑
-
- 举报
- 关闭
使用评论询问更多信息或提出修改意见,请不要在评论里回答问题
提交评论
× 评论支持部分 Markdown 语法:**bold**
_italic_
[link](http://example.com)
> 引用
`code`
- 列表
。 同时,被你 @ 的用户也会收到通知
查看全部 3 个回答
答案对人有帮助,有参考价值 0 答案没帮助,是错误的答案,答非所问
你要做的不是控制时间,而是控制步长,比如800px,800ms,就是800ms内移动800px,如果是1600px,那就800ms内移动1600px