jQueryアニメーションの繰り返しに問題があり、stop()に関する従来のアドバイスは役に立たないようです。
画像があります。ユーザーが画像の上にマウスを置くと、白い透明なオーバーレイが右からスライドして入ります。ユーザーがマウスを外すと、消えてほしいです。
私が持っているコードは部分的に機能しますが、ユーザーが画像の左側(つまり、オーバーレイから離れた場所)でマウスを出し入れした場合に限ります。オーバーレイが表示されているときにユーザーがオーバーレイの上にマウスを置くと、それはmouseoutイベントとしてカウントされ、アニメーションがトリガーされるように見えますが、これは私が望んでいることではありません。これが発生すると、アニメーションが繰り返され始めます。
HTML:
<img src="Crowded_bookshelf.png" height="367" width="367" id="theImage">
<div id="overlay1"></div>
CSS:
#theImage {
border-radius: 184px;
}
#overlay1 {
height:400px;
width:240px;
background-color:white;
opacity:0.9;
position:absolute;
left:400px;
top:60px;
}
jQuery:
$('#theImage').hover(
function() {
$('#overlay1').animate(
{
left: '190px'
},
1000
);
},
function() {
$('#overlay1').animate(
{
left: '400px'
},
1000
);
}
);
どんな助けでも大歓迎です。