我使用的是swiper.js (http://idangero.us/swiper/api/#.WCBYcxKLTfA)
请在附件中找到我当前代码的一小部分工作代码:https://jsfiddle.net/0L2h1p25/12/
我现在正试图让它的风格,我想要的方式,但有两个问题,我需要得到解决。
第1部分:分页点不可点击第2部分:导航不起作用
第1部分:我已经在swiper.js中更改了分页,以获得我想要的样式,现在它阻止了用户单击圆点以转到幻灯片。
你应该使用:
paginationClickable: true,允许单击,但在使用时将不起作用;
paginationType: "custom",我需要帮助使以下代码可点击,以便当有人点击的点,它去幻灯片。
下面是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;
}
});如果我将执行更改为如下所示,那么这些点是可以单击的,但我无法按我想要的方式设置样式
// 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,
});第二部分:最后,我想创建一个导航栏,这样当用户点击一个链接时,它就会转到幻灯片上,我目前还没有这方面的代码,但我希望第一部分能对此有所帮助。
谢谢
发布于 2016-11-17 23:24:05
使用swiper的选项是不可能的,你可以试着自己写,就像我看过这个问题的答案一样swiper custom pagination only slides once
我编写了一个函数来创建分页文本,并命令滑块滑动到适当的项目。
发布于 2018-11-22 17:58:44
您必须使用以下代码。
new Swiper('.swiper', {
pagination: {
el: '.pagination',
clickable: true,
renderBullet: function (index, className) {
return `<span class="dot swiper-pagination-bullet">${index}</span>`;
},
},
});发布于 2020-10-25 16:21:37
您需要将swiper-pagination-bullet类添加到自定义分页项目中,以便可以单击每个分页项目。然后重写该类附带的样式。
const swiper = new Swiper('.swiper-container', {
loop: true,
pagination: {
el: '.swiper-pagination',
clickable: true,
renderCustom: 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 class="swiper-pagination-bullet active">${names[i]}</li>`;
} else {
text += `<li class="swiper-pagination-bullet">${names[i]}</li>`;
}
}
text += "</ul>";
return text;
}
}
});https://stackoverflow.com/questions/40463206
复制相似问题