首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义分页swiper.js

自定义分页swiper.js
EN

Stack Overflow用户
提问于 2016-11-07 18:41:52
回答 4查看 37.7K关注 0票数 3

我使用的是swiper.js (http://idangero.us/swiper/api/#.WCBYcxKLTfA)

请在附件中找到我当前代码的一小部分工作代码:https://jsfiddle.net/0L2h1p25/12/

我现在正试图让它的风格,我想要的方式,但有两个问题,我需要得到解决。

第1部分:分页点不可点击第2部分:导航不起作用

第1部分:我已经在swiper.js中更改了分页,以获得我想要的样式,现在它阻止了用户单击圆点以转到幻灯片。

你应该使用:

代码语言:javascript
复制
paginationClickable: true,

允许单击,但在使用时将不起作用;

代码语言:javascript
复制
paginationType: "custom",

我需要帮助使以下代码可点击,以便当有人点击的点,它去幻灯片。

下面是swiper的执行:

代码语言:javascript
复制
// 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;
    }
});

如果我将执行更改为如下所示,那么这些点是可以单击的,但我无法按我想要的方式设置样式

代码语言:javascript
复制
// 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,
});

第二部分:最后,我想创建一个导航栏,这样当用户点击一个链接时,它就会转到幻灯片上,我目前还没有这方面的代码,但我希望第一部分能对此有所帮助。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-11-17 23:24:05

使用swiper的选项是不可能的,你可以试着自己写,就像我看过这个问题的答案一样swiper custom pagination only slides once

我编写了一个函数来创建分页文本,并命令滑块滑动到适当的项目。

票数 0
EN

Stack Overflow用户

发布于 2018-11-22 17:58:44

您必须使用以下代码。

代码语言:javascript
复制
new Swiper('.swiper', {
  pagination: {
    el: '.pagination',
    clickable: true,
    renderBullet: function (index, className) {
      return `<span class="dot swiper-pagination-bullet">${index}</span>`;
    },
  },
});
票数 7
EN

Stack Overflow用户

发布于 2020-10-25 16:21:37

您需要将swiper-pagination-bullet类添加到自定义分页项目中,以便可以单击每个分页项目。然后重写该类附带的样式。

代码语言:javascript
复制
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;
    }
  }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40463206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档