
1、clientWidth / clintHeight
clientWidth = 元素的宽度 + 元素的paddingLeft + 元素的paddingRight
clientHeight = 元素的高度 + 元素的paddingTop + 元素的paddingBottom
注意:如果该元素上存在上下滑动滚动条,则clientWidth的值不包括滚动条所占的宽度(即获得的clientWidth已经减去了滚动条的宽度)
注意:如果该元素上存在左右滑动滚动条,则clientHeight的值不包括滚动条所占的宽度(即获得的clientHeight已经减去了滚动条的高度)
2、clientTop / clientLeft
clientTop - 可视区域的上边距距离自身上边框的外边框的距离(即为上边框的宽度)
clientLeft - 可视区域的左边距距离自身左边框的外边框的距离(即为左边框的宽度)
没有滑动条的效果代码如下:
[html] view plain copy
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>获取元素的高度和宽度</title>
<style type="text/css">
#wrap{
height: 500px;
width: 500px;
background-color: skyblue;
margin: 0 auto;
border: 3px solid red;
overflow: scroll;
}
#content{
height: 200px;
width: 200px;
background-color: greenyellow;
margin: 0 auto;
border: 0px solid yellow;
border-width: 5px 6px 8px 12px;
padding: 5px 4px 6px 12px;
margin-top: 50px;
}
</style>
</head>
<body>
<div id="wrap">
<div id="content"></div>
</div>
</body>
<script type="text/javascript">
//获取content对象
var contentObj = documentgetElementById("content");
consolelog(contentObjclientHeight);
consolelog(contentObjclientWidth);
</script>
</html>
以上结果输出的即为id为content的div的clientHeight 和 clientWidth 分别为 211 = height(200) + paddingTop(5) + paddingBottom(6)
有滚动条的代码如下,
在content div的里面添加一个id为one的div让新添加的div超出隐藏即可出现滚动条
[html] view plain copy
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>获取元素的高度和宽度</title>
<style type="text/css">
#wrap{
height: 500px;
width: 500px;
background-color: skyblue;
margin: 0 auto;
border: 3px solid red;
overflow: scroll;
padding: 5px;
}
#content{
height: 200px;
width: 200px;
background-color: greenyellow;
margin: 0 auto;
border: 0px solid yellow;
border-width: 5px 6px 8px 12px;
padding: 5px 4px 6px 12px;
margin-top: 50px;
overflow: scroll;
}
#one{
height: 300px;
width: 300px;
}
</style>
</head>
<body>
<div id="wrap">
<div id="content">
<div id="one"></div>
</div>
</div>
</body>
<script type="text/javascript">
//获取content对象
var contentObj = documentgetElementById("content");
consolelog(contentObjclientHeight);
consolelog(contentObjclientWidth);
consolelog(contentObjclientTop);
consolelog(contentObjclientLeft);
</script>
</html>
最后输出的结果为clientHeight 和 clientWidth分别为 196 = height(200) + paddingTop(5) + paddingBottom(6) - 滚动条的宽度(15)
201 = width(200) + paddingLeft(12) + paddingRight(4) - 滚动条的宽度(15)
3、offsetHeight / offsetWidth
offsetHeight / offsetWidth实际上获取的内容和clientHeight / clientWidth的差别在于,offsetHeight和offsetWidth 不仅包括元素的高度和宽度和padding的值,而且包括border的宽度
注意:offsetHeight / offsetWidth包括滚动条的宽度(这一点与clientHeight / clientWidth)不同
[html] view plain copy
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>获取元素的高度和宽度</title>
<style type="text/css">
#wrap{
height: 500px;
width: 500px;
background-color: skyblue;
margin: 0 auto;
border: 3px solid red;
overflow: scroll;
padding: 5px;
}
#content{
height: 200px;
width: 200px;
background-color: greenyellow;
margin: 0 auto;
border: 0px solid yellow;
border-width: 5px 6px 8px 12px;
padding: 5px 4px 6px 12px;
margin-top: 50px;
overflow: scroll;
}
#one{
height: 300px;
width: 300px;
}
</style>
</head>
<body>
<div id="wrap">
<div id="content">
<div id="one"></div>
</div>
</div>
</body>
<script type="text/javascript">
//获取content对象
var contentObj = documentgetElementById("content");
consolelog(contentObjoffsetHeight);
consolelog(contentObjoffsetWidth);
consolelog(contentObjoffsetLeft);
consolelog(contentObjoffsetTop);
</script>
</html>
输出的结果:offsetHeight = height(200) + paddingTop(5) + paddingBottom(6) + borderTop(5) + borderBottom(8)
offsetWidth = width(200) + paddingLeft(12) + paddingRight(4) + borderLeft(12) + borderRight(6)
4、offsetTop / offsetLeft
offsetTop - 该元素的上边框的外边缘距离父级元素上边框的内边缘的距离
offsetLeft - 该元素的左边框的外边缘距离父级元素左边框的内边缘的距离
5、scrollHeight / scrollWidth
scrollHeight = 子级超出父级的元素的高度 + 父级的上下padding值
scrollWidth = 子级超出父级的元素的宽度 + 父级的左padding
6、scrollTop
scrollTop 元素滚动的距离
1、获取选中select的value和text,html代码如下:
<select id="mySelect">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
则可通过以下script代码s来获取选中的value和text
$("#mySelect")val(); //获取选中记录的value值
$("#mySelect option:selected")text(); //获取选中记录的text值
2、运用new Option("文本","值")方法添加选项option
var obj = documentgetElementById("mySelect");
objadd(new Option("4","4"));
3、删除所有选项option
var obj = documentgetElementById("mySelect");
objoptionslength = 0;
4、删除选中选项option
var obj = documentgetElementById("mySelect");
var index = objselectedIndex;
objoptionsremove(index);
5、修改选中选项option
var obj = documentgetElementById("mySelect");
var index = objselectedIndex;
objoptions[index] = new Option("three",3); //更改对应的值
objoptions[index]selected = true; //保持选中状态
6、删除select
var obj = documentgetElementById("mySelect");
objparentNoderemoveChild(obj); //移除当前对象
7、select选择的响应事件
$("#mySelect")change(function(){
//添加所需要执行的 *** 作代码
})
在给标签绑定事件时在回调事件里有一个event参数,可以通过eventtarget获取当前对象,在处理函数里把当前对象当做参数传递过去。如:
//绑定事件
$('list')click(function(event){
var ele=eventtarget;
deal(ele);
});
//处理函数
function deal(obj){
}只是举一个例子,如果有错误,请指出。
以上就是关于JS中几种获取对象宽度和高度的区别全部的内容,包括:JS中几种获取对象宽度和高度的区别、js 获取select对象、js中如何通过单击事件获取当前对象,并传递等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)