javascript - Özel sayfalama swiper.js
Swiper.js (http://idangero.us/swiper/api/#.WCBYcxKLTfA) kullanıyorum
Lütfen ekte mevcut kodumun çalışır hâldeki kodunun bir fiddle’ını bulabilirsiniz: https://jsfiddle.net/0L2h1p25/12/
Şimdi onu istediğim şekilde biçimlendirmeye çalışıyorum ama çözmem gereken 2 sorun var.
Bölüm 1: Sayfalama noktaları tıklanabilir değil Bölüm 2: Navigasyon çalışmıyor
Bölüm 1: İstediğim stili elde etmek için swiper.js'teki sayfalamayı değiştirdim, artık kullanıcıların noktaları tıklayarak slayta gitmesini engelledi.
Şunu kullanmanız gerekiyor:
paginationClickable: true,
tıklamaya izin vermek ama kullanırken çalışmayacak;
paginationType: "custom",
Birinin noktaya tıkladığında slayta gitmesi için aşağıdaki kodu tıklanabilir hale getirmemde yardıma ihtiyacım var.
İşte swiper çalıştırması:
// Swiper Execution
var swiper = new Swiper('.hero-container', {
direction: 'horizontal',
pagination: '.cd-slider',
nextButton: '.swiper-next',
prevButton: '.swiper-prev',
slidesPerView: 1,
paginationClickable: true,
spaceBetween: 0,
loop: true,
speed: 400,
effect: 'slide',
keyboardControl: true,
hashnav: true,
useCSS3Transforms: false,
paginationType: "custom",
paginationCustomRender: function(swiper, current, total) {
var names = [];
$(".swiper-wrapper .swiper-slide").each(function(i) {
names.push($(this).data("name"));
});
var text = "<ul>";
for (let i = 1; i <= total; i++) {
if (current == i) {
text += "<li><a class='active'><span class='cd-dot'></span><span class='cd-label'>Item 1</span></a></li>";
} else {
text += "<li><a><span class='cd-dot'></span><span class='cd-label'></span></a></li>";
}
}
text += "</ul>";
return text;
}
});
Eğer yürütmeyi aşağıdaki şekilde değiştirirsem, noktalar tıklanabilir oluyor ama istediğim şekilde stil veremiyorum
// Swiper Execution
var swiper = new Swiper('.hero-container', {
direction: 'horizontal',
pagination: '.cd-slider',
nextButton: '.swiper-next',
prevButton: '.swiper-prev',
slidesPerView: 1,
paginationClickable: true,
spaceBetween: 0,
loop: true,
speed: 400,
effect: 'slide',
keyboardControl: true,
hashnav: true,
useCSS3Transforms: false,
});
Bölüm 2: Son olarak, kullanıcı bir bağlantıya tıkladığında slayta gitmesini sağlayacak bir gezinme çubuğu oluşturmak istiyorum, bunu yapmak için şu anda hiç kodum yok ama umarım Bölüm 1 bununla yardımcı olur.
Teşekkürler
Cevap #1
Aşağıdaki kodu kullanmalısınız.
new Swiper('.swiper', {
pagination: {
el: '.pagination',
clickable: true,
renderBullet: function (index, className) {
return `<span class="dot swiper-pagination-bullet">${index}</span>`;
},
},
});
Cevap #2
Özel öğenize swiper-pagination-bullet class eklemek istemiyorsanız, seçeneklerinizde sayfalama öğenizin özel sınıfını bulletClass olarak tanımlamanız yeterlidir.
bulletClass: 'my-custom-pagination-item',
İşte bu özellik için belgeler.
