2017-07-20 3 views
0

ページ上でランダムな色、サイズ、位置のランダムな四角形を作成するオブジェクトジェネレータを作成するにはどうすればよいですか?私はだと思います。私はすべてのパラメータを設定しましたが、すべてまとめて入れることはできません。オブジェクトジェネレータを作成する

//Size Generator 
    function getRndInteger(min, max) { 
     return Math.floor(Math.random() * (200 - 50 + 1)) + 50; 
    } 

    var getSize = getRndInteger(50, 200); 

//Colour Generator 
    function getRandomColor() { 
     var letters = 'ABCDEF'; 
     var colour = '#'; 
     for (var i = 0; i < 6; i++) { 
     colour += letters[Math.floor(Math.random() * 16)]; 
     } 
     return colour; 
    } 

    var colour = getRandomColor(); 

//Position Generator 
    function getPosition(min, max) { 
     return Math.floor(Math.random() * (600 - 0 + 1)) + 0; 
    } 

    var getX = getPosition(0, 600); 
    var getY = getPosition(0, 600); 

//Square Generator 
    function squareGenerator() { 

     var div = document.createElement("square"); 

     div.style.backgroundColor = colour; 

     div.style.left = getX + "px"; 

     div.style.top = getY + "px"; 

     div.style.height = getSize + "px"; 

     div.style.width = getSize + "px"; 

    } 

ここで私はスタックされているどのようにこのページに表示する取得です。

+0

'squareGenerator()'の呼び出しが不足しているように見えます。スクリプト末尾にこれを追加してください。 – Liam

+0

'square'は有効なHTML要素ではありませんか? – Liam

+0

私のフルコードでは、ボタンにリンクされたボタンを呼び出していましたが、それでもまだ表示されませんでした – Omaari

答えて

2

まず、作成したdivは何も囲まないので、表示されません。
バイパスはdiv.style.positionfixedに設定します。最後にsquareGenerator();

:すべてのdocument.body.appendChild(div)

第三には、あなたが電話をかけることで、関数を呼び出す必要があります:すべての

第二には、あなたは使用して、たとえば、身体へのdivを追加する必要があります要素を作成するときは、div/section/article-> document.createElement( 'div')のような有効なHTML要素を使用します。それは '正方形'で動作しているようだが、私はすべてのブラウザがリベラルであるとは思わない。

//Size Generator 
 
    function getRndInteger(min, max) { 
 
     return Math.floor(Math.random() * (200 - 50 + 1)) + 50; 
 
    } 
 

 
    var getSize = getRndInteger(50, 200); 
 

 
//Colour Generator 
 
    function getRandomColor() { 
 
     var letters = 'ABCDEF'; 
 
     var colour = '#'; 
 
     for (var i = 0; i < 6; i++) { 
 
     colour += letters[Math.floor(Math.random() * 16)]; 
 
     } 
 
     return colour; 
 
    } 
 

 
    var colour = getRandomColor(); 
 

 
//Position Generator 
 
    function getPosition(min, max) { 
 
     return Math.floor(Math.random() * (200 - 0 + 1)) + 0; 
 
    } 
 

 
    var getX = getPosition(0, 600); 
 
    var getY = getPosition(0, 600); 
 

 
//Square Generator 
 
    function squareGenerator() { 
 

 
     var div = document.createElement("div"); 
 

 
     div.style.backgroundColor = colour; 
 

 
     div.style.left = getX + "px"; 
 

 
     div.style.top = getY + "px"; 
 

 
     div.style.height = getSize + "px"; 
 

 
     div.style.width = getSize + "px"; 
 
     div.style.position='fixed'; 
 
     document.body.appendChild(div); 
 
    } 
 
    squareGenerator();

あなたは、ランダムな位置に作成された希望の正方形を見ることができます。

+0

私は答えにコードを追加しました、FYIはフルページを実行するときに最もうまくいくようです – Liam

+0

@Liam yea、最大ランダム値が大きすぎる、スニペットウィンドウに収まらない、スニペットをもっと使うべき、ありがとう:) –

+0

ありがとうございました!私は今正方形が現れている。これを特定のdivに含めるにはどうすればよいですか? divをボディに追加する代わりに、別のdivに追加することはできますか? – Omaari

関連する問題