jQuery how to make event occur every x seconds?

别来无恙 提交于 2019-12-23 10:07:04

问题


$("#clickMe").click(                                    
     function(){   
          if (i == 1) {            
               i = i+1
               $("#div p").css("left", "-" + width * i + "px");  
            }
});

As you can see -margin changes when somebody clicks a button. What if I want it to happen just on site load every 10 seconds?

Thanks.


回答1:


Use setInterval to set up a timed event:

setInterval(
     function(){   
          if (i == 1) {            
               i = i+1
               $("#div p").css("left", "-" + width * i + "px");  
            }
     },
     10000  /* 10000 ms = 10 sec */
);



回答2:


Using the setInterval function.




回答3:


var cancel_margin_change = false;
$(function() {

   var i = 1, width = 10, xtime = 10000,
      margin_change = function() {

          if (i == 1)
             $("#div p").css("left", "-" + (width * (++i)) + "px");

          if (!cancel_margin_change)
             setTimeout(margin_change, xtime);
       };

   margin_change();  

});


来源:https://stackoverflow.com/questions/3791891/jquery-how-to-make-event-occur-every-x-seconds

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!