2011-08-16 52 views
1

我在網頁上使用了一個JavaScript,我在網上發現它會在特定的時間間隔內滑動幾張圖片。 一切都很順利,我安裝了它並使用它,直到我注意到在firefox和chrome中滑動幾圈之後,它開始移動得非常快,顯然看起來不像它應該的。圖像卷軸滑塊 - 錯誤

下面是我在頭節腳本:

$(document).ready(function() { 

    //Set Default State of each portfolio piece 
    $(".paging").show(); 
    $(".paging a:first").addClass("active"); 

    //Get size of images, how many there are, then determin the size of the image reel. 
    var imageWidth = $(".window").width(); 
    var imageSum = $(".image_reel img").size(); 
    var imageReelWidth = imageWidth * imageSum; 

    //Adjust the image reel to its new size 
    $(".image_reel").css({'width' : imageReelWidth}); 

    //Paging + Slider Function 
    rotate = function(){  
     var triggerID = $active.attr("rel") - 1; //Get number of times to slide 
     var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide 

     $(".paging a").removeClass('active'); //Remove all active class 
     $active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function) 

     //Slider Animation 
     $(".image_reel").animate({ 
      left: -image_reelPosition 
     }, 500); 

    }; 

    //Rotation + Timing Event 
    rotateSwitch = function(){  
     play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds 
      $active = $('.paging a.active').next(); 
      if ($active.length === 0) { //If paging reaches the end... 
       $active = $('.paging a:first'); //go back to first 
      } 
      rotate(); //Trigger the paging and slider function 
     }, 3000); //Timer speed in milliseconds (3 seconds) 
    }; 

    rotateSwitch(); //Run function on launch 

    //On Hover 
    $(".image_reel a").hover(function() { 
     clearInterval(play); //Stop the rotation 
    }, function() { 
     rotateSwitch(); //Resume rotation 
    }); 

    //On Click 
    $(".paging a").click(function() { 
     $active = $(this); //Activate the clicked paging 
     //Reset Timer 
     clearInterval(play); //Stop the rotation 
     rotate(); //Trigger rotation immediately 
     rotateSwitch(); // Resume rotation 
     return false; //Prevent browser jump to link anchor 
    }); 

}); 

如果有人CAND幫我一個暗示或者一個解決方案,在adnvance感謝!

回答

0

重新編輯

試試這個:

$(document).ready(function() { 
var play;      // missing global var 'play'    

[... other codes...] 
+0

謝謝,但之後我加入\t clearInterval(播放);滑塊不再工作,它變成靜態圖像。 – tuiti

+0

如果沒有鏈接到圖庫或jsfiddle來測試它,很難回答。你可以提供一些嗎?謝謝! –

+0

重申我的答案。 –