私は JavaScript 操作の基本的な考え方を持っています。
私の JavaScript のポイントは、id 'player' の画像をマウスでクリックした位置に移動させることです。アニメーションが 3 秒間続く 'stage' の id を持つ div をクリックした場合にのみです。
同時に、アニメーションが実行されているときは、頭が静止していて「プレイヤーは静止しています」と表示されるのではなく、「プレイヤーが動いています」に変わります。
現在、Chrome (おそらく Chrome のバグ) では、JS の基本機能が動作します。ただし、最初のラウンドでマウスをクリックした位置をオーバーシュートし、「ステージ」divでもう一度クリックするとほとんど動かないようです。
問題が発生している可能性がある場所を誰かが見つけたら、お知らせください。
これが私の編集済みのJQueryです:
$(document).ready(function(){
$('#stage').click(function(e){
$('#header h1').html('Player is moving!');
$('#player').animate({
top: e.pageY + 'px',
left: e.pageX + 'px'
}, 3000, function(){
$('#header h1').html('Player is standing still...');
});
});
});
私は CSS の問題を修正したので、心配する必要はありませんが、問題が内部にあると思われる場合に備えて、CSS のコードを以下に示します。
ありがとう!
編集:
これがCSSです。この問題は解決されましたが、何らかの理由で画像がオーバーシュートする問題が発生している可能性がある場合に便利なように提供されています。
#header {
width: 600px;
margin: 20px auto 10px;
padding: 5px;
background-color: whiteSmoke;
border: 1px solid #aaa;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
box-shadow: 0 0 5px #ccc;
}
#header h1 {
text-align: center;
margin: 0;
}
#stage {
overflow: hidden;
width: 600px;
height: 400px;
margin: 0 auto;
padding: 5px;
background-color: whiteSmoke;
border: 1px solid #aaa;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
box-shadow: 0 0 5px #ccc;
position: relative;
}
#player {
position: absolute;
width: 36px;
}