Swiper-轮播图。

时间:2024-01-01 08:43:57

Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件,可以用来做轮播和滑动.

  • 初始化

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="swiper.css"/>
    <style>
    .swiper-container {
    width: 600px;
    height: 300px;
    }
    .swiper-slide{
    font-size: 50px
    }
    .swiper-slide:nth-of-type(1){
    background-color: cornflowerblue;
    }
    .swiper-slide:nth-of-type(2){
    background-color: coral;
    }
    .swiper-slide:nth-of-type(3){
    background-color: yellowgreen;
    }
    </style>
    </head>
    <body>
    <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之外--> <script src="swiper.js"></script>
    <script>
    var mySwiper = new Swiper ('.swiper-container', {
    direction: 'vertical',
    // loop: true,
    //
    // // 如果需要分页器
    pagination: '.swiper-pagination',
    //
    // // 如果需要前进后退按钮
    nextButton: '.swiper-button-next',
    prevButton: '.swiper-button-prev',
    //
    // // 如果需要滚动条
    scrollbar: '.swiper-scrollbar',
    })
    </script>
    </body>
    </html>
  • 基本配置
    var mySwiper = new Swiper ('.swiper-container', {
    // 滑动方向
    // horizontal水平
    // vertical垂直
    direction: 'horizontal',
    // 初始化时候slide的索引(从0开始)
    initialSlide: 1,
    // 手指松开至slide贴合的时间
    speed:3000,
    // 设置自动播放的事件间隔
    autoplay: 2000,
    // 可显示数量
    slidesPerView:2,
    // 滑块居中
    centeredSlides:true,
    })
  • 触摸设置

      var mySwiper = new Swiper ('.swiper-container', {
    direction: 'horizontal', // 触摸距离与slide滑动距离的比率
    touchRatio:0.1, // 无法滑动
    onlyExternal:true, // 滑块跟随手指进行移动
    followFinger:false, // 定义longSwipesMs
    longSwipesMs:1000, longSwipes:false, shortSwipes:false, longSwipesRatio:0.5, touchAngle:10,
    })
    禁止切换和前进后退 <body>
    <div class="swiper-container">
    <div class="swiper-wrapper">
    <div class="swiper-slide stop">Slide 1</div>
    <!--<div class="swiper-slide swiper-no-swiping">Slide 2</div>-->
    <div class="swiper-slide">Slide 2</div>
    <div class="swiper-slide">Slide 3</div>
    </div>
    </div>
    <button class="prev">prev</button>
    <button class="next">next</button> <script src="swiper.js"></script>
    <script>
    var mySwiper = new Swiper ('.swiper-container', {
    direction: 'horizontal',
    noSwiping:true,
    noSwipingClass : "stop",
    nextButton : ".next",
    prevButton : ".prev",
    })
    </script>
    分页器 <style>
    .swiper-container {
    width: 600px;
    height: 300px;
    }
    .swiper-slide{
    font-size: 50px
    }
    .swiper-slide:nth-of-type(1){
    background-color: cornflowerblue;
    }
    .swiper-slide:nth-of-type(2){
    background-color: coral;
    }
    .swiper-slide:nth-of-type(3){
    background-color: yellowgreen;
    }
    .swiper-pagination-bullet{
    width: 20px;
    height: 20px;
    }
    .swiper-pagination-bullet-active{
    background-color: yellow;
    }
    </style>
    </head>
    <body>
    <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> <script src="swiper.js"></script>
    <script>
    var mySwiper = new Swiper ('.swiper-container', {
    direction: 'horizontal',
    pagination : ".swiper-pagination",
    paginationType : "bullets",
    paginationType : "fraction",
    paginationType : "progress",
    paginationClickable : true,
    paginationHide : true,
    paginationElement : "i",
    paginationBulletRender : function( swiper,index,classname ){
    return "<span class='"+ classname +"'>"+ (index+1) +"</span>"
    }
    })
    </script>
    </body>
    切换效果 <script>
    var mySwiper = new Swiper ('.swiper-container', {
    direction: 'horizontal', effect : "slide",
    effect : "fade",
    effect : "cube",
    effect : "coverflow",
    effect : "flip",
    })
    </script>
    进程 <body>
    <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>
    <button id="btn">按钮</button> <script src="swiper.js"></script>
    <script>
    var mySwiper = new Swiper ('.swiper-container', {
    direction: 'horizontal', }) btn.onclick = function(){
    alert( mySwiper.progress );
    alert( mySwiper.slides[0].progress );
    console.log( mySwiper.slides[0].progress,mySwiper.slides[1].progress,mySwiper.slides[2].progress );
    } setInterval(function(){
    console.log( mySwiper.slides[0].progress,mySwiper.slides[1].progress,mySwiper.slides[2].progress );
    },20)
    </script>
    </body>
  • 常用属性和回调

    <body>
    <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>
    <button id="btn">按钮</button>
    <script src="swiper.js"></script>
    <script>
    var mySwiper = new Swiper ('.swiper-container', {
    direction: 'horizontal', speed : 2000, onSlideChangeStart : function(){
    console.log( "开始滑动" );
    },
    onSlideChangeEnd : function(){
    console.log( "滑动结束" );
    }
    }) console.log( mySwiper.width );
    console.log( mySwiper.height ); btn.onclick = function(){
    console.log( mySwiper.translate );
    console.log( mySwiper.activeIndex );
    console.log( mySwiper.previousIndex );
    }
    </script>
    </body>