2013-04-02 15 views
0

我在這裏有滑塊。當它是2張或更多照片時,它工作得很好。但是當只有一張照片時,它仍然在滑動。如何使滑塊不隱藏並顯示一個圖像?jquery滑塊任務

(function($){ 
     $.fn.MySlider = function(interval) { 
      var slides; 
      var cnt; 
      var amount; 
      var i; 

      function run() { 
       // hiding previous image and showing next 
       $(slides[i]).fadeOut(1000); 
       i++; 
       if (i >= amount) i = 0; 
       $(slides[i]).fadeIn(1000); 

       // updating counter 
       cnt.text(i+1+'/'+amount); 

       // loop 
       setTimeout(run, interval); 
      } 

      slides = $('#my_slider').children(); 
      cnt = $('#counter'); 
      amount = slides.length; 
      i=0; 

      // updating counter 
      cnt.text(i+1+'/'+amount); 

      setTimeout(run, interval); 
     }; 
    })(jQuery); 
+1

你想讓它只是保持一個圖像顯示,正確嗎? – cgatian

+0

@cgatian正好 – Stopper

回答

1

爲什麼你不只是檢查,如果數量多了一個比與

if (amount > 1) { 
    setTimeout(run, interval); 
} 

更換

setTimeout(run, interval); 

+0

謝謝,那麼容易) – Stopper

1

簡單的答案不是在數量大於1時運行setTimeout部分。我確定還有更多。也許你可以加載它在jsFiddle

if(amount > 1) 
setTimeout(run, interval); 
1

你應該檢查開始幻燈片之前的圖像計數。

變化代碼:

if (amount>1){ 
setTimeout(run, interval) 
} 
1

裹在整體功能if語句來檢查有多個圖像。

if ($('#my_slider').children().length > 1){ 
    //run function 
} 
1

我會做的是,有一個檢查,查看圖像的數量是1或更多,基於要麼運行滑塊方法或者只是單一的形象結合到一個div元素。