1

<div>通过 javascript创建了一个包含display:hidden;在其 css 中的内容。我想让它成为一个块元素,但它不会出现。这是我的代码。

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";
}

我从浏览器调用该shop()函数来运行它,如果这有所不同的话。

4

4 回答 4

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

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

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

这里的例子:

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

于 2012-04-08T21:51:35.157 回答
2

您忘记将其附加到文档中。在您的 JS 文件中,在//Javascript.

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

</div>

//Javascript
document.getElementById("the-div").appendChild(fatGooseShop);
于 2012-04-08T21:05:07.463 回答
2

您还需要附加元素

x=document.getElementById("something");
x.appendChild(fatGooseShop);
于 2012-04-08T20:49:30.490 回答
2

您使用 createElement 创建元素,但您需要将appendChild其添加到 DOM 中的另一个元素,然后它才会出现。完成后,您可以对其进行操作。

于 2012-04-08T20:50:52.137 回答