javascript - Penomboran khas swiper.js
Saya sedang menggunakan swiper.js (http://idangero.us/swiper/api/#.WCBYcxKLTfA)
Sila lihat lampiran fiddle kod yang berfungsi bagi kod semasa saya: https://jsfiddle.net/0L2h1p25/12/
Saya kini sedang cuba untuk menggayakannya mengikut cara yang saya mahukan tetapi terdapat 2 isu yang perlu saya selesaikan.
Bahagian 1: Titik penomboran halaman tidak boleh diklik Bahagian 2: Navigasi tidak berfungsi
Bahagian 1: Saya telah menukar penomboran halaman di swiper.js untuk mendapatkan gaya yang saya mahu, kini ia telah menghentikan pengguna daripada mengklik pada titik-titik untuk pergi ke slaid.
Anda sepatutnya menggunakan:
paginationClickable: true,
untuk membenarkan klik tetapi ia tidak akan berfungsi apabila anda menggunakan;
paginationType: "custom",
Saya memerlukan bantuan untuk menjadikan kod berikut boleh diklik supaya apabila seseorang mengklik pada titik, ia pergi ke slaid.
Berikut ialah pelaksanaan swiper:
// 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;
}
});
Jika saya menukar pelaksanaan kepada yang berikut, maka titik-titik itu boleh diklik tetapi saya tidak dapat menatanya mengikut cara yang saya mahukan
// 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,
});
Bahagian 2: Akhirnya saya ingin mencipta bar navigasi supaya apabila pengguna mengklik pada pautan, ia akan pergi ke slaid, saya pada masa ini tiada kod untuk ini tetapi saya berharap bahagian 1 sepatutnya membantu dengan ini.
Terima kasih
Jawapan #1
Anda mesti menggunakan kod berikut.
new Swiper('.swiper', {
pagination: {
el: '.pagination',
clickable: true,
renderBullet: function (index, className) {
return `<span class="dot swiper-pagination-bullet">${index}</span>`;
},
},
});
Jawapan #2
Anda hanya perlu menetapkan kelas tersuai bagi elemen pagination anda sebagai bulletClass dalam pilihan anda jika anda tidak mahu menambah kelas swiper-pagination-bullet pada elemen tersuai anda.
bulletClass: 'my-custom-pagination-item',
Berikut adalah dokumentasi untuk ciri ini.
