求一段JS 获取子元素自适应高度值并赋予其父元素相同的高度值

求一段JS 获取子元素自适应高度值并赋予其父元素相同的高度值,第1张

这个太简单了吧,先设置父元素,overflow:hidden;

收起的时候,height:0;

点开的时候 height:auto;

另外最好不要用绝对定位,这样会让布局更麻烦

哦,补充一下,如果还有爷爷级的话同样要给设置overflow:hidden;

应为这样才能形成BFC(块级格式化上下文)

不然的话会撑不开

$(window)是jquery 对象, 加height()  也是就是获取窗口高度

同理,如果你想获取某个div的高度可以使用

var divHeight = $("div")height();

/或者/

var divHeight = $("div")[0]offsetHeight;

$("div")是jquery对象,$("div")[0] 或者 $("div")get(0)是dom对象

但是在开发中会有很多坑  这点你得注意

如果 当前的 元素是 隐藏状态 display : none

那你是无法通过上述方法和获取宽高的  ,所以在开发中如果没有获取到宽高,就要留意上面的代码在执行的时候 该元素是不是在隐藏状态

如果你想把 屏幕的高度 赋值给div

$("div")height(winHeight)

// 或者

$("div")[0]offsetHeight = winHeight

Jquery可以用height(),来获取DOM元素的高。示例如下:

<script src=">

这个代码肯定可以查到的,这是官方查DOM属性的API,查到的属性其实也很有限,但是高度是绝对可以查到的,查不到高度的同学可以去看官方文档!

首先给你的xml对象一个id:

<view class="usermotto" style="height:213px;" id='mjltest'/>

然后在js里,用一个SelectorQuery来选择对应id的节点(注意id前面要加一个#号),就可以获取对应节点的属性,包括高度。

//创建节点选择器

var query = wxcreateSelectorQuery();

queryselect('#mjltest')boundingClientRect()

queryexec(function (res) {

//res就是 所有标签为mjltest的元素的信息 的数组

consolelog(res);  

//取高度

consolelog(res[0]height);

})

在小程序中没有DOM *** 作的方法,所以获取不到相应的DOM节点进行高度设置。

解决方案

1css方案

<view class="{{isFold 'flod':'extend' }}" bindtap="flodFn">

我是一个很长的文字

</view>

flod{

//折叠样式

}

extend{

//展开样式

}

flodFn:function(){

thissetData({

isFold: !thisisFold

});

}

2动态渲染方案

<view bindtap="flodFn">

<view wx:if="{{isFold}}" >

我是一个很长的文字

</view>

<view wx:else>

我是一个很长的文字

</view>

</view>

flodFn:function(){

thissetData({

isFold: !thisisFold

});

}

高级

如果是列表,需要结合复杂数据处理,建议阅读

以上就是关于求一段JS 获取子元素自适应高度值并赋予其父元素相同的高度值全部的内容,包括:求一段JS 获取子元素自适应高度值并赋予其父元素相同的高度值、var winHeight=$(window).height();这句话是获取屏幕高度,请问我怎样应用到具体某个div里呢、jquery如何获取DIV包含滚动条在内的高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9311430.html

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

发表评论

登录后才能评论

评论列表(0条)

保存