我寫過一個腳本,如果變量等於true,則會減小div的寬度,然後將其設置爲false。如果變量等於false,則會增加div的寬度。這個代碼是:Webkit中的JavaScript錯誤
var open = false;
function chat() {
if (!open) {
document.getElementById("frameholder").innerHTML="div is wide";
document.getElementById("window").style.width="1300px";
document.getElementById("window").style.marginLeft="-650px";
open = true;
}
}
function unchat() {
if (open) {
setTimeout("document.getElementById('frameholder').innerHTML='div is skinny'",500);
document.getElementById("window").style.width="900px";
document.getElementById("window").style.marginLeft="-450px";
open = false;
}
}
的HTML是這樣的......
<a href="#" onclick="chat()">Open chat</a><br />
<a href="#" onclick="unchat()">Close chat</a>
<div id="window">
<div id="video">
</div>
<div id="frameholder">
</div>
</div>
出於某種原因,這僅適用於Chrome(WebKit的)工作一次。我可以擴大div,然後縮小div,但我無法重新展開它。它在Firefox和IE中運行良好。任何想法爲什麼?
編輯:更新我的代碼到當前狀態並添加HTML示例。不幸的是,我仍然有同樣的問題...
編輯2:我放棄了這一點。無論如何,這個頁面主要用於我的使用,而且我幾乎全部使用Firefox,所以我認爲這不是一個大問題。
'開放== TRUE'?愚蠢。 '(open == true)== true'如何?需要了解什麼是布爾值。 – awm 2011-05-05 00:54:13
錯誤的副本可能會有所幫助。 – 2011-05-05 00:55:13
爲了詳細說明@ awm的註釋,你應該將if(open == true)'改爲'if(open)',並且將if(open == false)改爲'if(!open)'。 – 2011-05-05 00:55:15