0

このコードで要素をランダムな位置に配置しようとしていますが、要素をコンテナー要素の上に配置するだけです。私は何を間違っていますか?

   create: function(){

    console.log("cone created");

    var el =  document.createElement('div');
    el.classList.add('cone');

    this.container.appendChild(el);

    this.el = el;

    this.x = Math.random () * canvas.innerWidth + 'px';
    this.y = Math.random () * canvas.innerHeight + 'px';

    },
4

2 に答える 2

0

divインラインCSSで挿入すると、これを処理できるかもしれません。

私はサンプルを書きました:

$(document).ready(function() {
  var sqrPixel = 10;

  var posX = 30;
  var posY = 100;

  $('body').append('<div style="background: #ccc; box-shadow: 2px 2px 2px #000; position: absolute; width: ' + sqrPixel + 'px; height: ' + sqrPixel + 'px; left: ' + posX + '; top: ' + posY + ';"></div>');
});

に正方形を追加しますbody。必要に応じて変更してください。ランダムposXに設定できます。posY

少し面倒に見えますが、少なくとも私にとってはうまくいきました。

于 2013-01-13T19:34:44.417 に答える
0

「キャンバス」は実際にはキャンバスではなく、単なる<div>.

その場合、いくつかのことを行う必要があります。

  • コンテナがposition:relative
  • コンテナの子が持っていることを確認してくださいposition:absolute
  • el.style.left = this.x; el.style.top = this.y;要素を実際に配置するために追加
于 2013-01-13T19:04:11.463 に答える