文章导航

JavaScript clientTop

2018-11-18 19:46| 作者: admin| 查看: 1067| 评论: 0|来自: 蚂蚁部落

clientTop属性返回元素客户区左上角与整个元素左上角的垂直尺寸。

这段尺寸不包括上内边距和上外边距,那么可以得出,这段尺寸就是上边框的厚度。

此属性与clientLeft属性原理一样,只是获取的尺寸的方位不同。

返回值是一个数字,默认单位是像素。

只读属性,不能赋值。

语法结构:

[JavaScript] 纯文本查看 复制代码
element.clientTop

浏览器支持:

(1).IE浏览器支持此属性。

(2).edge浏览器支持此属性。

(3).谷歌浏览器支持此属性。

(4).火狐浏览器支持此属性。

(5).opera浏览器支持此属性。

(6).safria浏览器支持此属性。

代码实例如下:

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style>
#ant {
  width:150px;
  height:50px;
  border:20px solid blue;
  border-left:10px solid red;
}
</style>
<script> 
window.onload=function(){
  let odiv = document.getElementById("ant");
  let oshow=document.getElementById("show");
  oshow.innerHTML = odiv.clientTop;
}
</script> 
</head> 
<body> 
  <div id="show"></div>
  <div id="ant"></div>
</body> 
</html>

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201811/18/194717v01z7kisltkh09t7.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

clientTop属性可以返回div的上边框厚度。

看起来与borderTopWidth属性功能是类似的,其实两者还是有区别的。

下面将通过代码实例演示一下两者的区别,代码实例如下:

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style>
#ant {
  width:150px;
  height:50px;
  border:20.5px solid blue;
  border-left:10px solid red;
}
</style>
<script> 
window.onload=function(){
  let odiv = document.getElementById("ant");
  let oshow=document.getElementById("show");
  let str="borderTopWidth:"+getComputedStyle(odiv,null).borderTopWidth;
  str=str+"<br/>clientTop:"+odiv.clientTop;
  oshow.innerHTML =str;
}
</script> 
</head> 
<body> 
  <div id="show"></div>
  <div id="ant"></div>
</body> 
</html>

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201811/18/194743q9xr38z3ii2ui9nz.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

代码分析如下:

(1).首先clientTop属性返回值不带单位(默认单位是像素)。

(2).clientTop属性的返回值是整数,但是通过与CSS对应的属性返回值并不是。

clientTop属性返回值等同于后面计算方式,Math.round(parseFloat(getComputedStyle))。

分解如下:

(1).首先通过getComputedStyle方法获取顶部边框的厚度,返回值是一个带有单位的字符串。

(2).然后通过parseFloat将其转换为浮点数。

(3).最后通过Math.round对浮点数进行四舍五入操作,最终转换为整数。

相关阅读:

(1).Math.round方法一章节。

(2).parseFloat方法一章节。

(3).getComputedStyle方法一章节。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部