2011-07-20 19 views
4

我此腳本與LOOP一個輪播圖片jQuery函數定義一個旋轉木馬腳本

$(document).ready(function() { 

//rotation speed and timer 
var speed = 5000; 
var run = setInterval(rotate(), speed); 

//grab the width and calculate left value 
var item_width = $('#slides li').outerWidth(); 
var left_value = item_width * (-1); 

//move the last item before first item, just in case user click prev button 
$('#slides li:first').before($('#slides li:last')); 

//set the default item to the correct position 
$('#slides ul').css({'left' : left_value}); 

//if user clicked on next button 
function rotate() { 
    //get the right position 
     var left_indent = parseInt($('#slides ul').css('left')) - item_width; 

     //slide the item 
     $('#slides ul').animate({'left' : left_indent}, 3000, function() { 

      //move the first item and put it as last item 
      $('#slides li:last').after($('#slides li:first'));     

      //set the default item to correct position 
      $('#slides ul').css({'left' : left_value}); 

     }); 

     //cancel the link behavior 
     return false; 
}  

});

但我的螢火收到此JavaScript錯誤:

無用的setInterval調用(?缺少引號參數) [Interrompi每questo errore]變種運行=的setInterval(旋轉(),速度);

我這是旋轉函數定義的錯誤!

回答

4

這意味着你應該寫:

var run = setInterval(rotate, speed); 

,而不是

var run = setInterval(rotate(), speed); 

,因爲你需要傳遞一個函數給setInterval的參考,你逝去的是的返回值函數rotate();