我写过一个脚本,如果变量等于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