Swiper组件(二)-- 基础配置

1.基础配置

配置选项含义默认值注意
initialSlide设定初始化时slide的索引。Swiper默认初始化时显示第一个slide,有时想初始化时直接显示其他slide,可以做此设置0
speed切换速度,即slider自动滑动开始到结束的时间(单位ms),也是触摸滑动时释放至贴合的时间300
grabCursor设置为true时,鼠标覆盖Swiper时指针会变成手掌形状,拖动时指针会变成抓手形状。false
init当创建一个Swiper实例时是否立即初始化。如果禁止了,可以稍后使用mySwiper.init()来初始化true
autoHeight自动高度。设置为true时,wrapper和container会随着当前slide的高度而发生变化。false
width强制Swiper的宽度(px)500(1) 当Swiper在隐藏状态下初始化时用此属性。(2)设置测属性后自适应宽度失效(3)可设置为undefined使这个参数无效。
height强制Swiper的高度(px)300(1)当你的Swiper在隐藏状态下初始化时且切换方向为垂直才用得上(2)设置测属性后自适应高度失效
directionSwiper的滑动方向,水平方向切换(horizontal)或垂直方向切换(vertical)horizontal(1)可使用swiper.changeDirection()方法动态更改切换方向(2)可使用断点(breakpoints,4.5.0后)设置不同分辨率下的切换方向
setWrapperSize开启这个设定会在Wrapper上添加等于slides相加的宽或高false用于浏览器兼容。,在对flexbox布局的支持不是很好的浏览器中可能需要用到。
uniqueNavElements独立分页元素。当你的控制组件放在container外面的时候用true需要在container之外添加分页元素
runCallbacksOnInit当初始化slide不是第一个(例initialSlide:2)或者设置了loop: true时,swiper初始化时会触发一次回调函数true配和on属性使用
on注册事件
watchOverflow当没有足够的slide切换时,例如只有1个slide,swiper会失效且隐藏导航等。默认不开启这个功能falseloop模式无效,因为会复制slide
preloadImagesSwiper会强制加载所有图片后才初始化true可以配合updateOnImagesReady一起使用
updateOnImagesReady当所有的内嵌图像(img标签)加载完成后Swiper会重新初始化true使用此选项需要先开启preloadImages: true
updateOnWindowResize默认当窗口(window) 尺寸发生变化时,比如屏幕旋转,Swiper会更新和重新计算(update和breakpoints等)true设置该属性为false时,breakpoints 失效

2.parallax配置

(1)Swiper的视差效果,内容在切换时更有层次感。
(2)效果可以应用于container或slide的子元素。
(3)注意:设定透明度或缩放必须同时设定位移,否则无效

属性含义参数类型/取值范围
data-swiper-parallax-x (x方向)/data-swiper-parallax-y(y方向)移动开始的位置number(px)/%
data-swiper-parallax-opacity视差透明度变化0-1
data-swiper-parallax-scale视差缩放变化0-1
data-swiper-parallax-duration视差动画持续时间number(ms)–默认值是Swiper的speed,与切换时间同步
        .swiper-container {
            /* 可见容器大小 */
            width: 250px;
            height: 300px;
            text-align: center;
            position: relative;
        }
        .swiper-bg {
            position: absolute;
            /* 背景图片大小 */
            width: 600px;
            height: 100%;
            background: url(../img/swiper1.png) no-repeat center center;
            background-size: 100% 100%;
        }
<div class="swiper-container" id="mySwiper2">
        <!--背景图片不换,但是有滑动效果-->
        <div class="swiper-bg" data-swiper-parallax="-50%" data-swiper-parallax-duration="3000"></div>
        <div class="swiper-wrapper">
            <div class="swiper-slide">
                <div data-swiper-parallax="-100">从右边100px开始进入</div>
                <div data-swiper-parallax="-300" data-swiper-parallax-duration="3000">
                    <p>从右边300px开始进入,时间3000ms</p>
                </div>
            </div>
            <div class="swiper-slide">
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.1" data-swiper-parallax-duration="5000">透明度变化 0.1</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.2" data-swiper-parallax-duration="5000">透明度变化 0.2</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.3" data-swiper-parallax-duration="5000">透明度变化 0.3</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.4" data-swiper-parallax-duration="5000">透明度变化 0.4</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.5" data-swiper-parallax-duration="5000">透明度变化 0.5</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.6" data-swiper-parallax-duration="5000">透明度变化 0.6</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.7" data-swiper-parallax-duration="5000">透明度变化 0.7</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.8" data-swiper-parallax-duration="5000">透明度变化 0.8</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.9" data-swiper-parallax-duration="5000">透明度变化 0.9</div>
                <div data-swiper-parallax="0" data-swiper-parallax-opacity="1.0" data-swiper-parallax-duration="5000">透明度变化 1.0</div>
            </div>
            <div class="swiper-slide">
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.1" data-swiper-parallax-duration="5000">缩放变化 0.1</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.2" data-swiper-parallax-duration="5000">缩放变化 0.2</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.3" data-swiper-parallax-duration="5000">缩放变化 0.3</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.4" data-swiper-parallax-duration="5000">缩放变化 0.4</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.5" data-swiper-parallax-duration="5000">缩放变化 0.5</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.6" data-swiper-parallax-duration="5000">缩放变化 0.6</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.7" data-swiper-parallax-duration="5000">缩放变化 0.7</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.8" data-swiper-parallax-duration="5000">缩放变化 0.8</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="0.9" data-swiper-parallax-duration="5000">缩放变化 0.9</div>
                <div data-swiper-parallax="0" data-swiper-parallax-scale="1.0" data-swiper-parallax-duration="5000">缩放变化 1.0</div>
            </div>
        </div>
        <div class="swiper-pagination"></div>
        <!-- 如果需要导航按钮 -->
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
    </div>
 var mySwiper = new Swiper('#mySwiper2', {
            parallax: true,
            speed: 3000, 
            grabCursor: true, 
            pagination: {
                el: '.swiper-pagination',
            },
            navigation: {
                nextEl: '.swiper-button-next',
                prevEl: '.swiper-button-prev',
            },
        })

该例子中背景图片的大小必须比可视范围的大小大
在这里插入图片描述

3.breakpoints配置

        断点设定:根据屏幕宽度设置某参数为不同的值,类似于响应式布局的media only screen and (min-width: 480px)
    注:3种配比方式,但是都和屏幕有关,和框架大小无关。
        way-1:根据屏幕宽高比设置
        way-2:根据屏幕大小设置(大于等于)
        way-3:根据屏幕大小设置(小于等于)

        .swiper-container {
            width: 600px;
            height: 300px;
            text-align: center;
        }
<div class="swiper-container" id="mySwiper3">
        <div class="swiper-wrapper">
            <div class="swiper-slide" style="background-color: #f00">Slide 1</div>
            <div class="swiper-slide" style="background-color: #0f0">Slide 2</div>
            <div class="swiper-slide" style="background-color: #00f">Slide 3</div>
            <div class="swiper-slide" style="background-color: #ff0">Slide 4</div>
            <div class="swiper-slide" style="background-color: #f0f">Slide 5</div>
            <div class="swiper-slide" style="background-color: #0ff">Slide 6</div>
            <div class="swiper-slide" style="background-color: #fff">Slide 7</div>
            <div class="swiper-slide" style="background-color: #aaa">Slide 8</div>
            <div class="swiper-slide" style="background-color: #0aa">Slide 9</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>
<script>
        var mySwiper3 = new Swiper('#mySwiper3', {
            // 如果需要分页器
            pagination: {
                el: '.swiper-pagination',
            },
            // 如果需要前进后退按钮
            navigation: {
                nextEl: '.swiper-button-next',
                prevEl: '.swiper-button-prev',
            },
            // 如果需要滚动条
            scrollbar: {
                el: '.swiper-scrollbar',
            },
            // breakpoints: {
            //     '@0.75': { //当屏幕宽高比大于等于0.75
            //         slidesPerView: 2,
            //         spaceBetween: 20,
            //     },
            //     '@1.00': { //当屏幕宽高比大于等于1
            //         slidesPerView: 3,
            //         spaceBetween: 40,
            //     },
            //     '@1.50': { //当屏幕宽高比大于等于1.5
            //         slidesPerView: 4,
            //         spaceBetween: 50,
            //     },
            // },
            breakpoints: {
                1280: { //当屏幕宽度小于等于1280
                    slidesPerView: 2,
                    spaceBetween: 50
                },
                768: { //当屏幕宽度小于等于768
                    slidesPerView: 2,
                    spaceBetween: 20,
                },
                320: { //当屏幕宽度小于等于320
                    slidesPerView: 1,
                    spaceBetween: 10,
                }
            },
            // breakpoints: {
            //     320: { //当屏幕宽度大于等于320
            //         slidesPerView: 2,
            //         spaceBetween: 10
            //     },
            //     768: { //当屏幕宽度大于等于768 
            //         slidesPerView: 3,
            //         spaceBetween: 20
            //     },
            //     1280: { //当屏幕宽度大于等于1280
            //         slidesPerView: 4,
            //         spaceBetween: 30
            //     }
            // }
        })
    </script>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `vue-awesome-swiper` 是一个基于 `Swiper` 封装的 Vue.js 轮播组件,旨在为 Vue.js 应用程序提供易于使用的轮播功能。它封装了 `Swiper` 的实现细节,提供了一组易于使用的 Vue.js 组件,方便开发者在 Vue.js 应用程序中使用轮播组件。 `Swiper` 是一个流行的、易于使用的现代轮播库。它具有许多功能,如触摸滑动、自动播放、分页器、缩略图、懒加载等等。`Swiper` 本身不是一个 Vue.js 组件,因此在 Vue.js 应用程序中使用它需要一些额外的工作。而 `vue-awesome-swiper` 则是一个已经封装好的 Vue.js 轮播组件,使用起来更加方便。 因此,`vue-awesome-swiper` 和 `Swiper` 的主要区别在于前者是基于后者的封装,并提供了一组易于使用的 Vue.js 组件。 ### 回答2: vue-awesome-swiper 是基于 Vue.js 封装的一个 Swiper 插件,而 Swiper 是一个独立的、跨平台的滑动效果插件。 区别主要有以下几点: 1. 使用方式不同:vue-awesome-swiper 是针对 Vue.js 框架进行封装,使用时需要先安装 Vue.js,并通过 npm 或 yarn 安装 vue-awesome-swiper 插件。而 Swiper 可以直接在项目中引入其相关文件,不受框架限制。 2. 依赖不同:vue-awesome-swiper 直接依赖于 Swiper,因此使用 vue-awesome-swiper 时需要同时安装 Swiper。而 Swiper 是一个独立的插件,可以单独使用,不依赖于其他插件或框架。 3. API 和功能扩展:vue-awesome-swiperSwiper基础上进行了封装,提供了一些 Vue.js 特有的功能和语法糖。同时还提供了一些额外的指令和组件,方便开发者在 Vue.js 项目中使用 Swiper。而原生的 Swiper 提供了完整的 API 文档和丰富的功能选项,开发者可以根据需要自行配置和使用。 4. 社区和文档支持:vue-awesome-swiper 是在 Vue.js 社区中发展起来的插件,拥有热心的用户社区和丰富的文档资源,用户可以分享使用心得并求助于社区。而 Swiper 作为一个独立的插件,其社区和文档资源也比较丰富,但可能相对于 Vue.js 社区来说略微少一些。 总的来说,vue-awesome-swiper 是对 Swiper 的一个封装,使其更适用于 Vue.js 的项目,提供了一些方便的功能和语法糖。而 Swiper 是一个独立的插件,可以在不同的项目中使用,并且具备更强大的定制和扩展能力。根据具体的项目需求和技术栈选择使用。 ### 回答3: vue-awesome-swiper 是一个基于 Vue.js 的 Swiper 组件,它使用的是 Swiper 库的功能来实现轮播和滑动操作。而 Swiper 是一个独立的 JavaScript 库,提供了丰富的轮播和滑动功能。 他们的区别主要体现在以下几个方面: 1. 技术栈:vue-awesome-swiper 是基于 Vue.js 的组件,而 Swiper 是一个独立的 JavaScript 库。因此,如果你使用 Vue.js 开发项目,可以直接使用 vue-awesome-swiper,它更加适合在 Vue.js 中进行集成开发。如果你不使用 Vue.js 或者使用其他框架,那么可以直接使用 Swiper。 2. 安装和使用:使用 Swiper 需要手动引入 Swiper 的库文件,而使用 vue-awesome-swiper 可以通过 npm 安装,并直接在 Vue 组件中使用,更加方便快捷。 3. 功能扩展:Swiper 提供了丰富的功能和配置项,可以自由定制轮播和滑动效果,而 vue-awesome-swiperSwiper基础上进行了封装,提供了一些更加方便的属性和事件来使用,在 Vue 组件中更容易进行配置和定制。 4. 生态圈:由于 vue-awesome-swiper 是基于 Vue.js 的组件,因此可以充分利用 Vue.js 生态圈中的各种插件和工具,同时也可以与其他 Vue.js 组件进行配合使用。而 Swiper 作为一个独立的库,有自己独立的生态圈,可以与其他 JavaScript 库进行配合。 综上所述,vue-awesome-swiper 是在 Swiper 基础上针对 Vue.js 进行封装的一个组件,使用起来更加方便,并可以充分利用 Vue.js 的生态圈。而 Swiper 是一个独立的 JavaScript 库,功能更加丰富,可以在任何 JavaScript 应用中使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值