(网页)swiper.js轮播图插件

Swiper4.x使用方法

1.首先加载插件,需要用到的文件有swiper.min.js和swiper.min.css文件。可下载Swiper文件或使用CDN

<!DOCTYPE html>
<html>
<head>
    ...
    <link rel="stylesheet" href="path/to/swiper.min.css">
</head>
<body>
    ...
    <script src="path/to/swiper.min.js"></script>
</body>
</html>

2.HTML内容。

<div class="swiper-container">
    <div class="swiper-wrapper">
        <div class="swiper-slide">Slide 1</div>
        <div class="swiper-slide">Slide 2</div>
        <div class="swiper-slide">Slide 3</div>
    </div>
    <!-- 如果需要分页器 -->
    <div class="swiper-pagination"></div>
    
    <!-- 如果需要导航按钮 -->
    <div class="swiper-button-prev"></div>
    <div class="swiper-button-next"></div>
    
    <!-- 如果需要滚动条 -->
    <div class="swiper-scrollbar"></div>
</div>
导航等组件可以放在container之外

3.你可能想要给Swiper定义一个大小,当然不要也行。

.swiper-container {
    width: 600px;
    height: 300px;
}  

4.初始化Swiper:最好是挨着</body>标签

<script>        
  var mySwiper = new Swiper ('.swiper-container', {
    direction: 'vertical',
    loop: true,
    
    // 如果需要分页器
    pagination: {
      el: '.swiper-pagination',
    },
    
    // 如果需要前进后退按钮
    navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    },
    
    // 如果需要滚动条
    scrollbar: {
      el: '.swiper-scrollbar',
    },
  })        
  </script>
</body>

如果不能写在HTML内容的后面,则需要在页面加载完成后再初始化。

<script type="text/javascript">
window.onload = function() {
  ...
}
</script>

或者这样(Jquery和Zepto)

<script type="text/javascript">
$(document).ready(function () {
 ...
})
</script>

5.完成。恭喜你,现在你的Swiper应该已经能正常切换了。

 

 

 swiper坑

1.一个页面引用多个swiper插件,出现混乱问题;

  解决方法: 1.实例化swiper时加上其父元素加以区分 

        2.Swiper加上ID或Class区分,要保留默认的类名swiper-container

  如下: 

<script>
            var swiper = new Swiper('.course_banner2 .swiper-container', {
                pagination: '.course_banner2 .swiper-pagination',
                paginationClickable: true,
                loop: true,
                autoplay: 2500
            });
            </script>

2. swiper隐藏之后,再显示,滑动不流畅,且无限滑动会失败;

  解决方法: 添加一下两个属性   

    observer: true,//修改swiper自己或子元素时,自动初始化swiper
    observeParents: true,//修改swiper的父元素时,自动初始化swiper

3.动态生成的swiper,如append(),或html()添加的,无限滑动效果失败;

  解决方法:

    a. 添加上面两个属性

    b.把swiper方法写在动态生成的方法里面

  如下所示:

function bigPic(comment_id) {
        $('.win_pic').show();
        $.post("{:U('Course/ajaxComment')}", {'c_id':comment_id}, function(data){
            if(data.status == 1){
                $("#content").text(data.comment.c_content);
                $(".swiper-wrapper").html('');
                var html = '';
                var images = data.comment.images;
                for (var i=0; i < images.length; i++) {
                    html += "<div class='swiper-slide'><img src=__ROOT__/" + images[i]['thumb_image'] + "></div>";                    
                }
                $(".swiper-wrapper").html(html); //swiper已动态生成
                //实例化swiper
                var swiper = new Swiper('.nav .swiper-container', {
                    pagination: '.nav .swiper-pagination',
                    paginationClickable: true,
                    centeredSlides: true,
                    autoplay: false,
                    autoplayDisableOnInteraction: false,
                    paginationType: 'fraction',
                    observer: true,//修改swiper自己或子元素时,自动初始化swiper
                    observeParents: true,//修改swiper的父元素时,自动初始化swiper
                    loop: true,
                    paginationFractionRender: function(swiper, currentClassName, totalClassName) {
                        return '<span class="' + currentClassName + '"></span>' +
                            '/' +
                            '<span class="' + totalClassName + '"></span>';
                    }
                })
            }
            console.log(data);
        }, "json");
        
    }

 4.移动端使用swiper需加onTouchStart、onTouchEnd,下拉时轮播停止BUG。(针对 apicloud 开发)

var swiper = new Swiper('.swiper-container', {
        pagination: '.swiper-pagination',
        loop: true,
        paginationClickable: true,
        centeredSlides: true,
        autoplay: 2500,
        autoplayDisableOnInteraction: false,
        onTouchStart: function(swiper) {
                api.setFrameAttr({
                    name: api.frameName,
                    bounces: false
                });
            },
        onTouchEnd: function(swiper) {
                api.setFrameAttr({
                    name: api.frameName,
                    bounces: true
                });
            }
    });

 

官网网址:http://www.swiper.com.cn/

转载于:https://www.cnblogs.com/historylyt/p/8376073.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swiper.js 是一个流行的轮播图插件,可以实现多种效果,如滑动、淡入淡出等。以下是使用 Swiper.js 的基本步骤: 1. 引入 Swiper.js 库 在 HTML 中引入 Swiper.js 库,可以使用 CDN 或下载到本地。例如: ```html <!-- CDN 引入 --> <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css" /> <script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script> <!-- 本地引入 --> <link rel="stylesheet" href="path/to/swiper-bundle.min.css" /> <script src="path/to/swiper-bundle.min.js"></script> ``` 2. 创建 HTML 结构 在 HTML 中创建轮播图的结构,例如: ```html <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide">Slide 1</div> <div class="swiper-slide">Slide 2</div> <div class="swiper-slide">Slide 3</div> </div> <div class="swiper-pagination"></div> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div> ``` 其中,`.swiper-container` 是容器,`.swiper-wrapper` 是轮播图的包裹元素,`.swiper-slide` 是每个轮播图的元素,`.swiper-pagination` 是轮播图的分页器,`.swiper-button-prev` 和 `.swiper-button-next` 是轮播图的前后按钮。 3. 初始化 SwiperJavaScript 中初始化 Swiper,例如: ```js var mySwiper = new Swiper('.swiper-container', { // 选项 loop: true, pagination: { el: '.swiper-pagination', }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, }); ``` 其中,`.swiper-container` 是轮播图容器的选择器,`loop` 表示是否循环播放轮播图,`pagination` 表示分页器的选项,`navigation` 表示前后按钮的选项。 以上是使用 Swiper.js 的基本步骤,可以根据需要设置更多选项和样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值