如何通过js给div的style动态赋值
4个回答
展开全部
你可以把中间层的高度设为 auto,在 div 的高度为 auto 的时候,用 offsetHeight 来得到真实高度(###px)
document.getElementById('div2').style.height = document.getElementById('div1').offsetHeight + 'px';
document.getElementById('div2').style.height = document.getElementById('div1').offsetHeight + 'px';
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<div id="div1">
<p>.....</p>
</div>
因为是动态数据,所以#div1的高度是auto,无法获取到具体值。
var div1=document.getElementById("div1");
alert(div1.style.height); //没有值
建议从css上改进。
比如给中间的div设置css {height:500px;overflow:auto;}这样就能固定高度,多出的内容用滚动条显示。
或者让尾部div相对中间的div定位。
<p>.....</p>
</div>
因为是动态数据,所以#div1的高度是auto,无法获取到具体值。
var div1=document.getElementById("div1");
alert(div1.style.height); //没有值
建议从css上改进。
比如给中间的div设置css {height:500px;overflow:auto;}这样就能固定高度,多出的内容用滚动条显示。
或者让尾部div相对中间的div定位。
追问
相对中间的位置定位写好了,但是中间的高度无法确实。不想用滚动条显示,想在读出内容之后把中间层的高度显示出来,然后赋值到尾部那一层的top里面。但是不知道该怎么写这个代码。或者就是中间层读出数据之后,修改中间层的高度。然后尾部相对定位。就是不明白,怎么样对能在读出数据,中间层有了高度之后再重写一次高度让尾部能得到这个值。
追答
网站整体的框架我是不建议用position来做的。
我一般都是用margin排的
#header,#text,#footer {width:900px;margin:10px auto;}
你可以看一下我最近的一个练习
当时给忘了:clientHeight可以返回实际值。
#header,#text,#footer {position:absolute;}
#header {height:100px;}
#text {top:100px;}
function getStyle(obj,cn) {
if (window.getComputedStyle) {//W3C DOM
return window.getComputedStyle(obj,null)[cn];
} else if (obj.currentStyle) {//IE
return obj.currentStyle[cn];
}
return "";
}
var header=document.getElementById("header");
var text=document.getElementById("text");
var footer=document.getElementById("footer");
footer.style.top=getStyle(header,clientHeight)+getStyle(text,clientHeight);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如上面div,请问,如何用js取得浏览器的高度然后把值赋 style 中的 height winHeight = document.body.clientHeight; //通过深入Document内部对body进行
追问
你这答案没发全吧。怎么看不明白。
我现在有三个层,头,中间部分,尾,用的都是CSS的相对定位,然后给了中间层一个高度,但是如果中间层信息多了之后,尾层不会跟着中间层的高度自动下调。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询