1

cssにある<div>via javascriptを作成しました。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";
}

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

要素も追加する必要があります

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

createElement で要素を作成しますが、appendChild表示される前に DOM 内の別の要素にする必要があります。それが完了したら、それを操作できます。

于 2012-04-08T20:50:52.137 に答える
2

ドキュメントに追加するのを忘れました。JS ファイルで、 の下に行 line を追加します//Javascript

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

</div>

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