2011-07-20 14 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] VARラン=のsetInterval(スピード)(回転)。

私は回転機能定義の誤りです!

答えて

4

これはあなたが書くべき意味:

var run = setInterval(rotate, speed); 

代わりの

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

あなたがのsetInterval関数の参照を渡す必要があるため、何を渡していることの戻り値であります関数rotate();