2009-03-04 10 views
9

İşte (bu bir fark yapar, tüm dinamik olarak oluşturulmuş) Ben ne: GörüntülerinEn iyi jQuery nedir "küçük resme tıklayın ve ana resmi değiştir" modülüne?

  • listesi her resim
  • her resim

için bir küçük için

  • şeklinde bir başlık Sayfa bir tam boyutlu görüntü ve tüm küçük resimlerle yüklenmelidir. Bir kullanıcı küçük resmi tıklattığında, tam boyutlu görüntü, altyazısına sahip yeni resmi gösterir. Başka bir küçük resme tıklarlarsa, resim (ve resim yazısı) tekrar değişir.

    Çok karmaşık değil. Birkaç ay önce bir çözümü bir araya getirdim, ama tekrar yapmam gerekiyor ve ben bu şahane koda bakıyorum ve daha iyi bir yolun olması gerektiğini düşünüyorum (ve jQuery'yi bilmek, başka biri zaten yaptı ve bitti iyi).

    Düşünceler? Bağlantılar?

    Teşekkürler!

  • +0

    Hafif varyasyon ile benzerlik gösteririz. MouseOver Thumnail ana resmi değiştirir, ancak yapışkan değildir, Ana resmi yapışkan yapmak için başa tıklayın.Kullanıcı gözden geçirmek için Thumbs üzerinden fareyi geçirebilir, sonra istediklerini tıklayabilir; Eğer fare daha fazla başparmak üzerinden geçerse, ana resim – Kristen

    cevap

    3

    Burada çok güzel görünüyor ve jQuery ile yazılmış biri: Photo Slider

    Ve burada biraz daha iyi gibi başka bir şeydir: Galleria

    +0

    Oooh'un tüm başparmaklarını fare-OUT olduğunda, Galleria güzel ve tam olarak aradığım şey oldu! Teşekkürler! – Eileen

    46

    Buradaki cevapların çoğu bir canonla uçmak gibidir!

    $('#thumbs img').click(function(){ 
        $('#largeImage').attr('src',$(this).attr('src').replace('thumb','large')); 
        $('#description').html($(this).attr('alt')); 
    }); 
    

    Tek ihtiyacınız olan budur .. 4 satır kod.

    buraya bakın: gallery-in-4-lines

    +3

    sizinle. her şey overkill gibi görünüyor –

    +0

    Ben TOTALLY tüm 'cevaplar' bu iyiydi - ne mükemmel bir yanıt ve başlamak için büyük bir yer ... Eğer ihtiyacınız varsa daha ekleyin, ama bu aşağı kaynar. - Teşekkürler – jpmyob

    2

    Bina krembo99's answer he linked here kapalı, müvekkilim böyle bir özellik talep edilirken Zaten yüzlerce fotoğraf yükledi olduğu gibi benim çözüm paylaşmak istedim. Bunu akılda tutarak, sağlanan kodlara birkaç tane ekstra satır ekleyerek, parametrelerime uyan bir çözüm bulabildim.

    Aynı zamanda daha küçük resimlerle çalışıyordum, bu yüzden aynı dosyanın küçük & büyük sürümlerini oluşturmaya gerek kalmadı.

    $('.thumbnails img').click(function(){ 
    
    // Grab img.thumb class src attribute 
    // NOTE: ALL img tags must have use this class, 
    // otherwise you can't click back to the first image. 
    
    var thumbSrc = $('.thumb').attr('src'); 
    
    // Grab img#largeImage src attribute 
    var largeSrc = $('#largeImage').attr('src'); 
    
        // Use variables to replace src instead of relying on file names. 
        $('#largeImage').attr('src',$(this).attr('src').replace(thumbSrc,largeSrc)); 
        $('#description').html($(this).attr('alt')); 
    
    }); 
    

    İşte HTML'm nasıl görünüyor.

    <img src="path/to/file1.jpg" id="largeImage" class="thumb"> 
        <div id="description">1st image Description</div> 
    
        <div class="thumbnails"> 
    
        <img src="path/to/file1.jpg" class="thumb" alt="1st image description"> 
        <img src="path/to/file2.jpg" class="thumb"alt="2nd image description"> 
        <img src="path/to/file3.jpg" class="thumb" alt="3rd image description"> 
        <img src="path/to/file4.jpg" class="thumb" alt="4th image description"> 
        <img src="path/to/file5.jpg" class="thumb" alt="5th image description"> 
    
        </div> 
    
    İlgili konular