SetInterval uygulamasında bir sorunum var. SetInterval'ın her birkaç saniyede bir işlevi işlediği bir kaydırma çubuğu oluşturdum. Birkaç dakika sonra ve setInterval'ın çalıştırılmasının birkaç dakikasından sonra ek bir gecikmenin meydana geldiğini fark ettim. Lütfen burada sorun olarak görünenleri önerin.SetInterval, birçok yürütme turundan sonra gecikme oluşturur
$(document).ready(function() {
var totalItems = $('.sliderItem', '#slider').length;
var currentIndex = $('.itemActive').index() + 1;
var slideTime = 3000;
function goNext (e) {
$('.sliderItem').eq(e).fadeOut(500);
$('.welcomeBox > .welcomeText1', '.sliderItem').eq(e).hide(500);
$('h1', '.sliderItem').eq(e).hide(500);
$('h2', '.sliderItem').eq(e).hide(500);
if(e == totalItems - 1) {
e = 0;
} else {
e++;
};
$('.sliderItem').eq(e).fadeIn(400);
$('h1', '.sliderItem').eq(e).delay(800).show(400);
$('h2', '.sliderItem').eq(e).delay(500).show(400);
$('.welcomeBox > .welcomeText1', '.sliderItem').eq(e).delay(300).show(400);
currentIndex = e;
};
function loader() {
$('.loader').animate({"width":"100%"}, slideTime - 199);
$('.loader').animate({"opacity":"0"}, 199);
$('.loader').animate({"width":"0%"}, 0);
$('.loader').animate({"opacity":"1"}, 0);
};
function autoPlay (e){
timer = setInterval(function() {
loader();
goNext(e - 1);
console.log(e);
if(e == totalItems) {
e = 1;
} else {
e++;
};
currentIndex = e;
}, slideTime);
};
autoPlay(currentIndex);
});
https://codepen.io/Sizoom/pen/ayjNog
“Ek gecikme” hakkında konuşuyorsunuz. Bunun aniden daha uzun bir aralık gecikmesi olduğu anlamına mı geliyor? Yoksa, zaman içinde kademeli olarak arttığını mı söylüyorsunuz? Böylece birkaç dakika sonra artık "senkronizasyon" yapmıyor mu? –
Demoyu gördüm, sorun gösterge çubuğunun sürgü ile senkronize olmaması durumunda bu normal ... gösterge çubuğunun sonunda bir olay ile sürgüyü sürmeniz gerekir .... böyle bir şey – sabotero