私のコードでは、要素はランダムに生成され、クリックすると別のgif要素に置き換えられます。私はoffset()を使用して画像の最初と最後の値を取得し、次にreplaceWith()を使用してgifに置き換え、css()を使用してgifの左と上の値を指定します。img要素を非常に似たgif要素で置き換える方法
function randomInt(min,max)
{
return Math.floor(Math.random()*(max-min+1)+min);
}
var thewidth = randomInt(1,1000);
$("body").prepend("<img src='red_dot.png' class='enemies' id='enemy' left:thewidth/2 + 'px'></img>");
var n = $("#enemy").offset();
console.log(n.left);
console.log(n.top);
$("#enemy").click(function()
{
$("#enemy").replaceWith("<img src='explosion.gif' id = 'explosion'></img>");
$("#explosion").css({"left" : n.left+'px', "top" : n.top + "px"});
.enemies
{
position: fixed;
transform: scale(0.01,0.01);
}
#explosion
{
transform: scale(0.1,0.1);
position: fixed;
}
あなたが見ることができるように、両方の位置が固定されています。私がこれを実行すると、imgとgifは別々の位置にあり、それらが同じであるかどうかを確認するために、コンソールにトップと左の値を記録しました。なぜ彼らは異なった位置にいるのですか?gifがイメージをその正確な位置に置き換えるようにするにはどうすればいいですか?
? – guest271314
@ guest271314以前はmath.random()ベースの関数で生成されたグローバル変数です。 –
要素全体の代わりに属性を置き換えようとしましたか? –