Javascript不显示带有display =“block”的元素

时间:2012-04-08 20:46:06

标签: javascript html css

我通过javascript在其css中创建了<div>。我想把它变成块元素,但它不会出现。这是我的代码。

display:hidden;

我从浏览器调用var fatGooseShop = document.createElement('div'); fatGooseShop.width = canvas.width / 1.5 + "px"; fatGooseShop.height = canvas.height / 1.5 + "px"; fatGooseShop.style.position = "absolute"; fatGooseShop.style.left = "50%"; fatGooseShop.style.top = "50%"; fatGooseShop.style.margin = "-" + (canvas.height / 1.5) / 2 + "px 0px 0px -" + (canvas.width / 1.5) / 2 + "px"; fatGooseShop.style.backgroundColor = "yellow"; fatGooseShop.style.display = "none"; function shop() { fatGooseShop.style.display = "block"; } 函数来运行它,如果这有所不同。

4 个答案:

答案 0 :(得分:3)

  1. 首先,您需要附加元素

    document.getElementById("test").appendChild(fatGooseShop);
    
  2. 没有内容,你实际上并没有设置块的宽度或高度,所以它不可见。您需要按如下方式修改代码。注意:这将有效,前提是canvas.width返回非 零值

  3. fatGooseShop.style.width = canvas.width / 1.5 + "px";
    fatGooseShop.style.height = canvas.height / 1.5 + "px";
    

    示例:

    http://jsfiddle.net/DigitalBiscuits/cqbzw/6/

答案 1 :(得分:2)

您还需要附加元素

x=document.getElementById("something");
x.appendChild(fatGooseShop);

答案 2 :(得分:2)

使用createElement创建元素,但是在它出现之前,您需要appendChild它到DOM中的另一个元素。一旦完成,你可以操纵它。

答案 3 :(得分:2)

您忘了将其附加到文档中。在您的JS文件中,在//Javascript下面添加一行。

<!--HTML-->
<div id="the-div">

</div>

//Javascript
document.getElementById("the-div").appendChild(fatGooseShop);