react native 怎么获取某个元素的高

react native 怎么获取某个元素的高,第1张

首先我们来看一下官方的实际例子,不过该代码整体封装比较强,可能对于初学者来说有点难度,具体代码如下:

'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,

},

});

要使用jQuery获取视图的高度可以使用height()方法,这个方法可以获取元素的高度,包括padding、border和margin。

例如,如果你想获取id为example的元素的高度,你可以这样做:

```var height = $('#example')height();

```这将在变量height中返回元素的高度值。你也可以传递一个参数给height()方法,如下所示:

``var height = $('#example')height('200px');

```这将把元素的高度设置为200像素,并将高度值存储在变量height中。

需要一个DIV根据里面的元素自动适应高度,所以,肯定无法给这个DIV定义一个实际高度。而随便嵌套一个DIV却发现并不适应高度。这事就郁闷了。下面给出一些方法。大致的例子是: <div id="main">

<div id="content"></div>

</div>当Content内容多时,即使main设置了高度100%或auto。在不同浏览器下还是不能完好的自动伸展。内容的高度比较高了,但容器main的高度还是不能撑开。我们可以通过三种方法来解决这个问题。

增加一个清除浮动,让父容器知道高度。请注意,清除浮动的容器中有一个空格。

<div id="main">

<div id="content"></div>

<div style="font: 0px/0px sans-serif;clear: both;display: block"> </div>

</div> 增加一个容器,在代码中存在,但在视觉中不可见。

<div id="main">

<div id="content"></div>

<div style="height:1px; margin-top:-1px;clear: both;overflow:hidden;"></div>

</div> 增加一个BR并设置样式为clear:both。

<div id="main">

<div id="content"></div>

<br style="clear:both;" />

</div>以上三个方法都不是最好的解决方法,因为在程序代码观念中是提倡尽量不要添加无意义的标签代码。现在,你可以用下面的方法来实现DIV自适应高度效果#main {height:100%;

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 怎么获取某个元素的高、jquery获取某个视图的高度、手机浏览器获取自适应 div 的显示高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9418974.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存