这个太简单了吧,先设置父元素,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包含滚动条在内的高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)