私は、マウスオーバー時にイメージがサイクルを開始し、マウスアウト時にサイクリングが止まるようにするための簡単なイメージサイクル(遷移なし)を取得しようとしています。これは、マウスアウト時に停止することを除いて機能します。私は、間隔をクリアする方法を考え出すのに苦労しています:マウスオーバー時のクリア間隔
var itemInterval = 750;
var numberOfItems = $('.portrait img').length;
//set current item
var currentItem = 0;
//show first item
$('.pimg').eq(currentItem).show();
$('.portrait').hover(function() {
//loop through the items
var infiniteLoop = setInterval(function(){
$('.pimg').eq(currentItem).hide();
if(currentItem == numberOfItems -1){
currentItem = 0;
}else{
currentItem++;
}
$('.pimg').eq(currentItem).show();
}, itemInterval);
},
function() {
clearInterval(infiniteLoop);
});
2番目の最後のラインはどうすれば動作させることができますか?
編集:
とにかくベストプラクティスでは、一貫性がなく、コードを同期させないで実行する可能性のあるsetIntervalに頼らないことをお勧めします。代わりに、setTimeout()で終了したときに自身を呼び出す関数を使用する必要があります。これにより、機能のタイミングをより適切に制御することができます。 –
ホセありがとう。私はそれを認識していませんでしたが、それは完璧な意味があります。 – Jeff