首先我们来看一下官方的实际例子,不过该代码整体封装比较强,可能对于初学者来说有点难度,具体代码如下:
'use strict'
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Image,
TouchableOpacity,
ScrollView,
} from 'react-native'
var NUM_ITEMS = 20;
var PerfectProject = ReactcreateClass({
Statics: {
titles: '<ScrollView>',
description: 'Component that enable scrolling through child component',
},
makeItems: function(nItems: number, styles) : Array<any> {
var items = [];
for (var i=0;i<nItems;i++){
items[i] = (
<TouchableOpacity key={i} style={styles}>
<Text style={{fontSize:20 }}>{'Item text' + i}</Text>
</TouchableOpacity>
);
}
return items;
},
render: function(){
var items = thismakeItems(NUM_ITEMS,stylesitemWrapper);
items[4] = (
<ScrollView key={'ScrollView'} horizontal={true}>
{thismakeItems(NUM_ITEMS,[stylesitemWrapper,styleshorizontalItemWrapper])}
</ScrollView>
);
var verticalScrollView=(
<ScrollView style={stylesverticalScrollView}>
{items}
</ScrollView>
);
return verticalScrollView;
},
});
var styles = StyleSheetcreate({
itemWrapper: {
backgroundColor: '#dddddd',
alignItems: 'center',
borderWidth: 5,
borderColor: 'red',
borderRadius: 5,
padding: 30,
margin: 5,
},
horizontalItemWrapper: {
padding: 50,
},
verticalScrollView:{
backgroundColor: 'aquamarine',
margin: 10,
},
});
<html>
<head>
<title>js 获取div所填充内容的实际高度 </title>
</head>
<body>
<div id="div1">
百度知道是一个基于搜索的互动式知识问答分享平台,于2005年6月21日发布,并于2005年11月8日转为正式版。百度知道一直探索国际化发展,于2012年3月31日发布百度知道台湾版。
</div>
<button type="submit" onclick="test()">点击获取</button>
<script type="text/javascript">
function test() {
var oDiv = documentgetElementById('div1');
alert(oDivoffsetHeight);
}
</script>
</body>
</html>
下面结合各上图介绍一下各个属性的作用:
一offsetTop属性:
此属性可以获取元素的上外缘距离最近采用定位父元素内壁的距离,如果父元素中没有采用定位的,则是获取上外边缘距离文档内壁的距离。所谓的定位就是position属性值为relative、absolute或者fixed。
返回值是一个整数,单位是像素。
此属性是只读的。
二offsetLeft属性:
此属性和offsetTop的原理是一样的,只不过方位不同,这里就不多介绍了。
三offsetWidth属性:
此属性可以获取元素的宽度,宽度值包括:元素内容+内边距+边框。不包括外边距和滚动条部分。
返回值是一个整数,单位是像素。
此属性是只读的。
四offsetHeight属性:
此属性可以获取元素的高度,宽度值包括:元素内容+内边距+边框。不包括外边距和滚动条部分。
返回值是一个整数,单位是像素。
此属性是只读的。
五clientWidth属性:
此属性可以返回一个元素的宽度值,值是:元素的内容+内边距。不包括边框、外边距和滚动条部分。
返回值是一个整数,单位是像素。
此属性是只读的。
六clientHeight属性:
此属性可以返回一个元素的高度值,值是:元素的内容+内边距。不包括边框、外边距和滚动条部分。
返回值是一个整数,单位是像素。
此属性是只读的。
七scrollLeft属性:
此属性可以获取或者设置对象的最左边到对象在当前窗口显示的范围内的左边的距离,也就是元素被滚动条向左拉动的距离。
返回值是一个整数,单位是像素。
此属性是可读写的。
八scrollTop属性:
此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边的距离,也就是元素滚动条被向下拉动的距离。
返回值是一个整数,单位是像素。
1、为svg元素定义id为:svgobj。
2、var el=documentquerySelector("#svgobj");使用选择器找到该对象;
3、高度:alert( eloffsetWidth ),宽度:alert( eloffsetHeight)
该方法在较新版本的火狐下测试通过。
height()
-获取匹配元素集合中的第一个元素的当前计算高度值 或 设置每一个匹配元素的高度值。
-css('height') 和 height()之间的区别是后者返回一个没有单位的数值,前者是返回带有完整单位的字符串。当一个元素的高度需要数学计算的时候推荐使用height() 方法 。
-这个方法同样能计算出window和document的高度。
$(window)height(); // returns height of browser viewport
$(document)height(); // returns height of HTML document
注意:在绝对定位和给定display:block时,虽然style和script标签用width() 或 height()也将报告一个值,强烈建议不要在这些标签中调用这些方法。这是一种不好的做法,结果也证明是不可靠的。
innerHeight()
-为匹配的元素集合中获取第一个元素的当前计算高度值,包括padding,但是不包括border。
-这个方法返回元素的高度,包括顶部和底部的padding,单位是像素。
-这个方法不适用于window and document对象,可以使用height()代替。
outerHeight()
-获取元素集合中第一个元素的当前计算高度值,包括padding,border和选择性的margin。返回一个整数(不包含“px”)表示的值 ,或如果在一个空集合上调用该方法,则会返回 null。
-outerHeight( [includeMargin ] ):include是一个布尔值,表明是否在计算时包含元素的margin值。
-这个方法不适用于window 和 document对象,可以使用height()代替。
以上就是关于react native 怎么获取某个元素的高全部的内容,包括:react native 怎么获取某个元素的高、js 获取div所填充内容的实际高度、在火狐中怎么获取svg元素的高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)