我需要能够对应该有多高一个HTML元素(DIV)是算...使用javaScript变量添加css属性?
我用这段JavaScript代码来计算和CSS添加到我的“包装”分区:
var h=window.innerHeight;
var content=920;
var fix=920-h;
document.getElementById("wrapper").style.height= +fix+ 'px';
但它根本不工作...
任何帮助吗?
我需要能够对应该有多高一个HTML元素(DIV)是算...使用javaScript变量添加css属性?
我用这段JavaScript代码来计算和CSS添加到我的“包装”分区:
var h=window.innerHeight;
var content=920;
var fix=920-h;
document.getElementById("wrapper").style.height= +fix+ 'px';
但它根本不工作...
任何帮助吗?
您可能在加载主体之前运行此脚本。
加载它身上加载完成这一更换您的代码之后:
window.onload = function(){
var h=window.innerHeight;
var content=920;
var fix=920-h;
document.getElementById("wrapper").style.height= +fix+ 'px';
}
<script type="text/javascript">
h=window.innerHeight;
content=920;
fix=(content-h);
document.getElementById("wrapper").style.height=(fix + 'px');
</script>
我认为这是你在找什么,只要DIV ID包装存在。
我认为更有效的办法是..
(使用jQuery)
<script type="text/javascript">
$(document).ready(function(){
h=$(window).height;
content=$('.content').height; //gets height of class content
fix=(content-h);
$('wrapper').height=fix;
});
</script>
我的2美分。
你的第一个解决方案没有什么区别,你的jQuery解决方案被打破了...更不用说虚假宣称它会以某种方式更高效。 – 2013-04-14 18:04:02
作为加载时间可能效率不高,但编程时间。 jQuery足够轻量,对页面加载没有严重影响。除了在
document.getElementById(“wrapper”)。style.height = fix +'px'; –
我[无法复制](http://jsbin.com/ubigah/2/edit)这个问题。 – Quentin
lolcat111的点差异挑战表明删除的'+'符号将在转换为字符串之前停止将'fix'转换为数字,以便它可以附加''px''。既然它已经是一个数字,这将没有实际意义,但会使代码稍微更整齐,并为您节省一个字节。 – Quentin