利用jquery实现页面可视区滚动到指定位置。直接上代码
//滚动到指定位置 function scrollTo(element,speed) { if(!speed){ speed = 300; } if(!element){ $("html,body").animate({scrollTop:0},speed); }else{ if(element.length>0){ $("html,body").animate({scrollTop:$(element).offset().top-200},speed); } } } //然后触发某个事件时调用这个函数。 //scrollTo('#comment',300); 写评论功能的时候,滚动到文本域的位置。#comment是文本域ID属性。
offset() 返回或设置匹配元素相对于文档的偏移。上述代码中 -200 的意思是是文本域再向下移动200px,实现此功能主要是scrollTop配合animate动画。
外层元素的高度值是200px
,内层元素的高度值是300px
。很明显,“外层元素中的内容”高过了“外层元素”本身.当向下拖动滚动条时,有部分内容会隐没在“外层元素的上边界”之外,scrollTop
就等于这部分“不可见的内容”的高度。初始状态下,“内层元素的上边界”和“外层元素的上边界”重合,没有任何内容超过“外层元素的上边界”,此时scrollTop属性的值为0。当向下拖动滚动块时,超过“外层元素的上边界”的内容会逐渐增多,scrollTop值就等于这些超出部分的高度。参考:scrollTop讲解
$("html,body")是什么意思呢?暂时没明白。