jquery - Start interval through timeout -
i have piece of code starts interval. push of button, want interval stopped/cleared, wait x seconds, , start interval again.
this code starts interval , works fine:
var timeout = undefined; var interval = setinterval(bgscroll, timebetweenswap); then want interval stopped when click button, let wait x seconds , start again (ofcourse pressing button again should reset amount of seconds)
$(document).on('click', '.bgscroller a', function(){ clearinterval(interval); cleartimeout(timeout); var timeout = settimeout(function(){ var interval = setinterval(bgscroll, timebetweenswap); }, delayafterclick); }); now when click button few times interval goes crazy , stacks up. suggest cleared... advice oh how should fix this?
kind regards, narayan
in short, remove last 2 var statements. make timeout = , interval = instead of var timeout = , var interval =.
your code close—it looks you're shadowing timeout , interval variables on last few lines.
this bit that's wrong:
var timeout = settimeout(function(){ var interval = setinterval(bgscroll, timebetweenswap); }, delayafterclick); it should (very similar):
timeout = settimeout(function(){ interval = setinterval(bgscroll, timebetweenswap); }, delayafterclick); note removed var statements. uses same timeout , interval variables above, rather making new variables happen have same names.
Comments
Post a Comment