2013-03-05 25 views
7

son ben bu kaydırıcıyı (eklentileri kullanmak istemiyordu) oluşturuldu (image), tekrar ilk slayda geri gider. Şu anda, sadece .hide ve .show sonuna kadar ve görüntü yok ise sadece tekrar başlamadı.jQuery kaydırıcı ilk geçiş

birisi bir kod öneri o kaydırıcı (üzerine resim sayısı) ait .length sürebileceğini ve son slayt (resim) ise, daha sonra ilk dönüyor için ile bana yardımcı olabilir slayt (resim) ... bir döngü gibi.

Düzenleme: Sürgü biçimlendirme

<div class="small_box top_right slider"> 
     <img class="fittobox" src="img/home10.jpg" alt="home10" width="854" height="592"> 
     <img class="fittobox" src="img/home3.jpg" alt="home3" width="435" height="392"> 
     <img class="fittobox" src="img/home4.jpg" alt="home4" width="435" height="392"> 
    </div> 
+1

Bir şey göz ardı edilmedikçe: '_s.slide_active ++; _s.slide_active = _s.slide_active% this.slide.length; – dualed

+0

fakat zaten _s.slide_active ++ var; zaman aşımında neden tekrarlanır? –

+0

Anlayışım gereği farklı slaytlarınız birbiriyle çakışıyor. Slaytları, altındaki süreyi göstermek için bir süre içinde bir sırada saklıyorsunuz. Bir süre sonra son slayt olması durumunda, ilk slayt görünmesini gizlemek zorundasınız ve işlem yaptığınızda (ilk slayt tam olarak görünür) tüm slaytın altında görünmesini ve aynı sıralamayı tekrarla – Tarun

cevap

1

Created a fixed version for you here.

Bunu yapmanın en kolay yolu 1 ekleyin, daha sonra toplam uzunluğuna modülü (%) aracılığıyla o koşmak, ben _s.slide_active olsun, şu anda yerine

_s.slide_active++; 

sahip basit bir matematik işlemi çalıştırmaktır - Geri kalan kısmı:

_s.slide_active = (_s.slide_active + 1) % _s.slide.length; 
+0

Doğru döngü oluşturduğunu daha iyi göstermek için (burada bazı "yinelenen görüntü sorunlarım var"), [cevabınıza göre daha iyi bir örnek olabilir] (http://jsfiddle.net/gmP6b/). – MarcoK

+1

@MarcoK iyi nokta - özdeş genişlik/yükseklik görüntüleri için farklı temalar belirtti. – Barney

+0

Bu mükemmel, çok teşekkür ederim! Sistem bana izin verir vermez ödülü vereceğim :) –

1

bu Fiddle linke bir göz atın, bu sürgü tekrar başlayacaktır Son görüntüyü ulaştığında bir döngüsel way.If kaydırıcıyı oluşturmanıza yardımcı olacaktır ilk görüntüden.

var index = $selector.index(); 
if (index == (length - 1)) { 
    $('img').first().removeClass('invisible').addClass('visible'); 
} 

Umarım bu size daha fazla yardımcı olacaktır. Herşey gönlünce olsun.

+0

düzenleyin, ama bu sizin kaydırıcınızla çalışmak gibi görünüyor. –

0

1 uzunluğundan sonra 0'a ulaşmanız gerekir. Bunu yapmanın basit bir yol modülo uzunluğunu çalışmaktır:

_s.slide_active++; 
_s.slide_active %= length; 
+0

Bu kodu koydum ama ilk görüntü ona "atlama" yapmaya devam ediyor, ikinci slayda bir değişiklik yok ... teşekkürler –

0

test ama yararlı umut:

function slider(sel, intr , i){ 
    ... 
    this.count = this.selector.children().length; 
    this.run(); 
} 

slider.prototype.run = function(){ 
    var _s = this; 
    this.slide[this.slide_active].show(); 
    setTimeout(function(){ 
     _s.slide[_s.slide_active].hide() 
     if(_s.slide_active == this.count) 
      _s.slide_active = 0; 
     else 
      _s.slide_active++; 
     _s.run(); 
    }, interval); 
} 
+0

hala en son görüntüde duruyor –

+0

, 'if (_s.slide_active == (this.count-) 1)) ve test edin .. –