同様の質問がいくつかあることは知っていますが、それらの解決策を試していますが、うまくいきません。
#hitbox
クリックすると、以下のコールバック アニメーションを停止するにはどうすればよいですか? アニメーションで#hitbox
は、 をホバーすると div が外側に移動し、マウスを#hitbox
離すと div が元の位置に戻ります。#hitbox
divがクリックされた後、元に戻るのではなく、外側の位置にとどまるようにします。
var timeOut;
$('#hitbox').hover(
function() {
clearTimeout(timeOut);
// **some animation functions moving divs outward** e.g.:
$('#div').stop().animate(
{
'margin-left': '-500px',
}, 1000, 'easeOutQuart'
);
} // End first function
,
function() {
timeOut=setTimeout(function(){
// **some animation functions moving divs back in** e.g.:
$('#div').animate(
{
'margin-left':'0px',
}, 900, 'easeOutExpo' );
}, 600); //end setTimeout
} //end second callback function
); //end hover
$('#hitbox').click(function() {
$('#hitbox').css(
{'display': 'none',
});
clearTimeout(timeOut); // *****NOT WORKING*****
}); // end click
がクリックされる#hitbox
と、div は上に移動しますが、正確に外側の位置にとどまらせたい場合は収縮します (内側に戻ります)。
clearTimeout(timeOut);
他のいくつかの質問で示唆されているように機能していません。それよりももう少し必要な気がしますか?コードでわかるように、すぐにの表示も に設定してみ#hitbox
ましたnone
。助けてくれてありがとう!