私は jQuery を初めて使用し、その animate() をいじっていましたが、2 つの問題に遭遇しました。以下の私のコードは基本的に、マウスがその上に置かれているときに文字ウィンドウを展開し、展開されると内部のテキストを変更することになっています。次に、マウスが大きくなったバージョンからマウスを離すと、characterwindow は元のサイズに戻り、縮小が始まるとテキストが変更されます。
私の問題は、これが一般的にめちゃくちゃだということです。マウスを数回ズームインおよびズームアウトするだけで、何もしなくても少しの間絶えず拡大および縮小し、出入りするときにテキストがちらつき、本来のように縮小する前に消えることさえありません。
マウスオーバーのコールバック パラメータを使用してみましたが、アニメーションが実際に終了する前にテキストが表示されることがありました。
これは、jQuery、JavaScript、サーバー、クライアントなどの制限ですか? これを実装するためのより良い/より効率的な方法があれば、それを示していただければ幸いです。
<html>
<body>
<div id="characterwindow" style="width:80px;height:23px;border-radius:15px;">
<div id="characterwindowgraphic" style="border-radius:15px;background-color:#1C1C1C;height:23px;width:80px;">
<center><p1 id="characterwindowtext" style="color:white;">Character</p1></center>
</div></div>
<script>
$("#characterwindow").mouseover(function() {
setTimeout(function(){$("#characterwindowtext").html("Character<br><br>Name<br>Details");},500);
$("#characterwindow").css({"width":"300px","height":"250px"});
$("#characterwindowgraphic").animate({
width:'300px',
height:'250px'
},500);
});
$("#characterwindow").mouseleave(function() {
$("#characterwindowtext").text("Character");
$("#characterwindow").css({"width":"80px","height":"23px"});
$("#characterwindowgraphic").animate({
width:'80px',
height:'23px'
},500);
});
</script>
</body>
</html>