おはようございます、通話中にメソッドをリセットするにはどうすればよいですか?
私は現在、JavaScriptの問題をここで抱えています。
私はこのhttp://jsfiddle.net/pdb4kb1a/2に基づいて自動化されたスライドショーループを持っています。
また、画像に矢印が追加されているため、ユーザーは自分自身を前後に移動できる必要があります。 ここで問題となるのは、onClick()を呼び出すと、「中断」や「リセット」せずにslideShow(n)メソッドを再呼び出しすることです。 それでは、私が終わるのは、もう一方がまだ実行されている間にループを呼び出すことです。これは、矢印ボタンをクリックした後、非常に高速で途方もないループを作成します。
呼び出し時にslideShow()ループをリセットするにはどうすればよいですか?
var imgArray = ['img/sleutels.jpg', 'img/naamborden.jpg', 'img/leer.jpg'];
var photoIndex = 2;
var photoId = document.getElementById('photoSlide');
function setIndex(n) {
slideShow((photoIndex + n));
}
function slideShow(n) {
photoId.className += "fadeOut";
setTimeout(appear, 500);
photoIndex++;
if (photoIndex == imgArray.length) {
photoIndex = 0;
}
console.log(photoIndex);
setTimeout(slideShow, 5000);
}
function appear() {
photoId.src = imgArray[photoIndex];
photoId.className = "";
}
slideShow();
種類は
jsfiddleで問題を確認できるデモを作成できますか? –
'setIndex(2)' – Rajesh
@Rajeshを試したことがありますか?それはOPのリファレンスのバイブルリンクです。彼の仕事上の問題はありません。右? –