【JS】deliver parameter in setInterval and setTimeout fun

    function scroll(img_list, img_num) {
        var content = $(img_list);
        var w = content.find('li').outerWidth(true);
        content.animate({"margin-left": parseInt(-w*this_index)});
            this_index++;
            if(this_index >= img_num)
                this_index = 0; 
        console.log(w);
    } 
    setInterval(function() {
     scroll(".imgarea", 3);
  }, 2000);

  this is wrong 

setInterval(scroll(".imgarea", 3), 2000);  //wrong

     you can change to this ,using anonymous function 

setInterval(function() {  //right
  scroll(".imgarea", 3);

}, 2000);  

 it confused me for a longtime ,i always think my function made same mistake ,but after lot of tests and debug , i found there was something wrong with setInterval function .Remember this !

———— From Laker's blog 

Coding and changing~

Fighting and insisting~

posted @ 2013-03-24 02:11  youngLaker  阅读(275)  评论(0编辑  收藏  举报