• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Resetowanie setInterval

Fiszki IT
Fiszki IT
0 głosów
174 wizyt
pytanie zadane 7 listopada 2017 w JavaScript przez lastavenger Obywatel (1,060 p.)

Witam

Tworzę slider, ale potrzebuję by w moim przedziale od arrows w każdej funkcji resetował się setInterval(sliderAuto).

Tak aby po naciśnięciu setInterval liczył od nowa

$(document).ready(function (){
    $(".scrolowany").hide(); 
    setInterval(sliderAuto,3000);
    $(window).scroll(function (){
        var scrollval = $(window).scrollTop();
        console.log(scrollval);
        if (scrollval >= 220) {
           $(".scrolowany").slideDown(1700);
       }
   }); 
});
var marginL = 0;

function sliderAuto() {
    if (marginL < 4){
    $(".slides").animate({
        marginLeft: "-=640px"
    },1200);
    marginL++;
    console.log(marginL);
    }
    else{
    $(".slides").animate({
        marginLeft: "0px"
    },1500);
    marginL = 0;
    }  
}
// arrows

$("#right").on("click", function () {
    if (marginL < 4){
    $(".slides").animate({
        marginLeft: "-=640px"
    },500);
    marginL++;
    console.log(marginL);
    }
});
$("#left").on("click", function () {
    if (marginL > 0){
    $(".slides").animate({
        marginLeft: "+=640px"
    },500);
    marginL--;
    console.log(marginL);
    }
});

 

1 odpowiedź

+1 głos
odpowiedź 7 listopada 2017 przez Comandeer Guru (558,640 p.)

Więc zapisuj, co Ci zwraca setInterval i używaj clearInterval.

komentarz 7 listopada 2017 przez lastavenger Obywatel (1,060 p.)

Dzięki wielkie

Nie jestem pewien czy na tej zasadzie miało to wyglądać, ale to "clearInterval" mnie nakierowało, więc dzięki ;)

$(document).ready(function (){
    $(".scrolowany").hide(); 
    setTimeout(sliderAuto,5000);
    $(window).scroll(function (){
        var scrollval = $(window).scrollTop();
        console.log(scrollval);
        if (scrollval >= 220) {
           $(".scrolowany").slideDown(1700);
       }
   }); 
});
var marginL = 0;

function sliderAuto() {
    if (marginL < 4){
    $(".slides").animate({
        marginLeft: "-=640px"
    },1200);
    marginL++;
    console.log(marginL);
    timer1 = setTimeout(sliderAuto,5000);   
    }
    else{
    $(".slides").animate({
        marginLeft: "0px"
    },1500);
    marginL = 0;
    }  
}
// arrows

$("#right").on("click", function () {
    if (marginL < 4){
    $(".slides").animate({
        marginLeft: "-=640px"
    },500);
    marginL++;
    console.log(marginL);
    clearTimeout(timer1);
    setTimeout(sliderAuto,5000);
    }
});
$("#left").on("click", function () {
    if (marginL > 0){
    $(".slides").animate({
        marginLeft: "+=640px"
    },500);
    marginL--;
    console.log(marginL);
    clearTimeout(timer1);
    setTimeout(sliderAuto,5000);
    }
});

 

Podobne pytania

+1 głos
3 odpowiedzi 95 wizyt
pytanie zadane 26 kwietnia w JavaScript przez molik Użytkownik (820 p.)
0 głosów
1 odpowiedź 1,709 wizyt
pytanie zadane 20 lutego 2018 w JavaScript przez sosick Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 96 wizyt
pytanie zadane 8 września 2017 w JavaScript przez Alterwar Dyskutant (7,650 p.)
Porady nie od parady
Forum posiada swój własny serwer Discord, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

84,758 zapytań

133,561 odpowiedzi

295,987 komentarzy

56,012 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...