先来一张名气很大的图
看着实在是好晕,于是各种整理后手动画了一个:
发现主要分为几部分:
当定位时,position的移动的距离,
scrollHeight:文档总高度,可滚动总高度(包含元素本身,内外边距,边框)
scrollWidth:文档总宽度,可滚动总宽度(包含元素本身,内外边距,边框)
scrollTop:相对于滚动条顶部的偏移,指滚动条顶端与当前滚动条位置的距离
scrollLeft:相当于滚动与左端的偏移
clientHeight:可视区域高度(不包含边框,滚动条)
clientWidth:可视区域宽度
clientTop:内容区域相对于整个元素的左上角,当有边距时为边距的厚度,无边距时可以为0
clientLeft:内容区域相对于整个区域的左上角,有边距时为边距的宽度,可以为0
offsetHeight:获取自身元素(包含边距,滚动条)
offsetWidth:获取自身元素(包含边距,滚动条)
offsetTop:相对于最近定位祖元素的偏移,(祖元素必须是position,relative,absloute,fixed)
offsetLeft:同offsetTop
返回第一个祖定位元素,若父级元素无定位返回body,若父级元素已经定位返回相对应父级对应元素。
(1)domstylewidth/height 获取dom元素内联样式中设定的width,height
(2)domcurrentStylewidth/height 获取dom元素渲染后的width,height,只支持IE
(3)windowgetComputedStyle(dom)width/height 浏览器渲染后的元素宽,兼容性更好
(4)domgetBoundingClientRect()width/height/left/top/right/ 计算一个元素的绝对位置(相对于视窗左上角),它能拿到元素的left、top、right、bottom、width、height
ElementgetBoundingClientRect() - Web API 接口参考 | MDN
js中获取某个元素到浏览器最左和最右的距离的程序代码是:
<!doctype ><><head><meta charset=UTF-8><style>
body{margin: 0;padding: 0;}
mdiv{width: 100px;height: 100px;background-color: red;}
</style></head><body><div class="page_speeder_585337571"></div><div></div><script src=jqueryjs></script> //自行下载<script>//原生//获取div距离顶部的距离
var mTop = documentgetElementsByClassName('banner')[0]offsetTop;
//减去滚动条的高度var sTop = documentbodyscrollTop;var result = mTop - sTop;consolelog(result);//Jquery
mTop = $('banner')[0]offsetTop;
sTop = $(window)scrollTop;
result = mTop - sTop;
consolelog(result);
</script></body>
简单说 windowparent是获得 父窗口的window对象,
windowtop是获得 最顶层的window对象(多frame嵌套)
所以 对于你这个页面 windowparent windowtop都可以实现
1获取dom元素
2dom元素的属性
3获取元素到页面顶部的距离,原生js只能获取相对于父级的top值,所以需要递归获取offsetParent,直到最外层
4滑动动画
5浏览器滑动无效?兼容所有浏览器设置scrollTop的方法:
以上就是关于jsz中scrollTop,clientTop,offsetTop全部的内容,包括:jsz中scrollTop,clientTop,offsetTop、Js如何获取某Dom元素的宽高、js中如何获取某个元素到浏览器最左和最右的距离等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)