1
function hitQBlock(obj) {
  var objOne=$(obj),
    posOne = objOne.offset(),        
    posVert = posOne.top + (objOne.height()/2),
    posHoriz = posOne.left + (objOne.width()/2);
  var newCoin = document.createElement('.coin');
  newCoin.attr({
    style: 'position: absolute; top: posVert px; left: posHoriz px; width: 500px; height: 500px;', 
    src: 'http://png-3.findicons.com/files/icons/2297/super_mario/256/retro_coin.png'});
}

最初の質問:newCoin変数posVertと で定義された位置にオブジェクトを配置するにはどうすればよいposHorizですか? メソッドを使用しようとしました.val()が、引用符内では機能しないようです

2 番目の質問:カスタム クラスの新しいオブジェクトを関数内に作成するより良い方法は何ですか? 上記の私の方法は正しく機能しません。

4

1 に答える 1

1

編集

私のコードにタイプミスがありました。それを修正しました。これは、それが機能することを示す jsfiddle です。http://jsfiddle.net/p9n4X/

パフォーマンスを向上させるために、html文字列を連結して、次のように本文に追加します

var html = '<img class="coin" style="position: absolute; top: ' + posVert + 'px; left: '+ posHoriz +'px; width: 500px; height: 500px;" src="http://png-3.findicons.com/files/icons/2297/super_mario/256/retro_coin.png" />';

$('body').append(html);

また、文字列を閉じることに関する Archer のコメントに従っていることにも注意してください。

于 2013-03-08T18:01:32.177 に答える