English 中文(简体)
javascript风格宽度在具有过渡doctype的火狐浏览器中不起作用。
原标题:
  • 时间:2008-12-08 15:27:52
  •  标签:

我有一个脚本,可以使小DIV在页面上弹出动画。在IE中一切都很正常,在FF中如果我删除DOCTYPE,也是正常的,但是当DOCTYPE为XHTML/Transitional时,在Firefox中宽度不会改变。

this.container.style.visibility = "visible";
alert("this.container.style.width before = " + this.container.style.width)
this.container.style.width = this.width;
alert("this.container.style.width after = " + this.container.style.width); 
this.container.style.height = this.height;

在IE中,并且在没有DOCTYPE的FF中,第一个提示框显示为0,第二个提示框显示为320(这是在代码中其他地方设置的宽度)。

在FF中,使用DOCTYPE转换为XHTML/过渡,两个警报都显示为0。这里发生了什么?我想我可能需要在过渡中明确设置DIV的位置,但我不确定。

最佳回答

你试过设置:

this.container.style.visibility = "visible";
alert("this.container.style.width before = " + this.container.style.width);
this.container.style.width = this.width +  px ;
alert("this.container.style.width after = " + this.container.style.width);
this.container.style.height = this.height +  px ;

//Note the  px  above

我发现如果不加单位,试图设置数字的宽度/高度可能会导致问题。

问题回答
  • 使用CSS中的!important将覆盖上述JavaScript,宽度不会改变。即。

    宽度:16.5%!重要;

  • 应该成为:

    宽度:16.5%;

您可以使用:

document.getElementById("td").style.visibility="hidden";
document.getElementById("td").style.display="none";

不是宽度属性。

它有效!





相关问题
热门标签