Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Mencapai Slider Imej Gelung Infiniti Yang Lancar Menggunakan JavaScript/jQuery?

Bagaimana untuk Mencapai Slider Imej Gelung Infiniti Yang Lancar Menggunakan JavaScript/jQuery?

Susan Sarandon
Lepaskan: 2024-11-01 16:45:02
asal
1151 orang telah melayarinya

How to Achieve a Seamless Infinity Loop Image Slider Using JavaScript/jQuery?

Konsep Reka Bentuk Gelung Infinity Menggunakan JavaScript/jQuery

Untuk mencipta peluncur imej gelung infiniti dengan kebolehbacaan kod yang optimum, kebolehselenggaraan dan kebolehgunaan semula, pertimbangkan pelan tindakan berikut:

Susunan Imej untuk Kesan Gelung Infiniti

Untuk mencapai ilusi gelung tak terhingga, laksanakan salah satu daripada dua pendekatan:

  • Tukar z-Index: Laraskan indeks-z setiap imej apabila imej seterusnya atau sebelumnya menjadi kelihatan.
  • Ubah suai Kedudukan DOM: Gerakkan imej dalam DOM untuk mencipta rupa tatal atau gelung.

Mengklon Imej untuk Gelung Lancar

Untuk mencipta gelung tak terhingga, klon imej pertama dan terakhir dalam urutan. Kemudian, semasa menatal:

  • Apabila beralih daripada imej n ke imej 1, alihkan bekas ke ofset imej pertama sebenar sebaik sahaja animasi selesai.
  • Apabila beralih daripada imej 1 ke imej n, alihkan bekas ke ofset imej ke-n sebenar sebaik sahaja animasi selesai.

Kod Contoh

Pertimbangkan coretan kod JavaScript/jQuery berikut sebagai contoh pelaksanaan:

$(function() {
 
  var gallery = $('#gallery ul'),
      items   = gallery.find('li'),
      len     = items.length,
      current = 1,  /* the item we're currently looking */
      
      first   = items.filter(':first'),
      last    = items.filter(':last'),
      
      triggers = $('button');
  
  /* 1. Cloning first and last item */
  first.before(last.clone(true)); 
  last.after(first.clone(true)); 
  
  /* 2. Set button handlers */
  triggers.on('click', function() {

    var cycle, delta;
    
    if (gallery.is(':not(:animated)')) {
     
        cycle = false;
        delta = (this.id === "prev")? -1 : 1;
        /* in the example buttons have id "prev" or "next" */  
    
        gallery.animate({ left: "+=" + (-100 * delta) }, function() {
      
            current += delta;
       
            /** 
             * we're cycling the slider when the the value of "current" 
             * variable (after increment/decrement) is 0 or when it exceeds
             * the initial gallery length
             */          
            cycle = (current === 0 || current > len);
       
            if (cycle) {
                /* we switched from image 1 to 4-cloned or 
                   from image 4 to 1-cloned */
                current = (current === 0)? len : 1; 
                gallery.css({left:  -100 * current });
            }
        });   
     }
    
  });
});
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Slider Imej Gelung Infiniti Yang Lancar Menggunakan JavaScript/jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan