我需要能夠對應該有多高一個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