swiper默认选中_Swiper

本文介绍了如何在Swiper中设置默认选中项。步骤包括下载Swiper,引入相关CSS和JS文件,配置HTML布局,调整Swiper容器的宽高,初始化Swiper并设置参数,以及使用Swiper的API进行交互控制。详细讲解了Swiper的初始化选项,如速度、模式、循环、触控控制等,并提供了回调函数和滑块操作的示例。
摘要由CSDN通过智能技术生成

Usage:

1、下载swiper最新版本https://github.com/nolimits4web/Swiper

2、在HTML Head中添加Swiper's CSS and JS:

1

2 ....

3

4

5 ....

6

其中引用的文件名以下载的为准。

3、使用下面的HTML布局

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

4、打开下载的文件中的idangerous.swiper.css,设置Swiper's的宽度以及高度(在文件的末尾)

/* 指定swiper 容器尺寸: */

.swiper-container, .swiper-slide {

width: 500px;

height: 200px;

}

5、初始化Swiper 在文档开始处,(或在窗口加载时)

1

2 /*======

3 使用文档添加事件或窗口加载事件

4 例如:

5 window.onload = function() { ...代码 ...}

6 或者document.addEventListener('DOMContentLoaded', function(){ ...代码... }, false)

7 =======*/

8 window.onload = function() {

9 var mySwiper = new Swiper('.swiper-container',{

10 //添加需要的选项:

11 mode:'horizontal',

12 loop: true

13 //等等..

14 });

15 }

16 })

17

API:

new Swiper(container,options)

container: 字符串要求,Swiper's容器的css选择器。在上面的HTML代码中就必须等于“.swiper-container”;

options:-对象,可选择的。Swiper参数,详情见下:

用法:

1 var mySwiper = new Swiper(".swiper-container",{

2 speed:750,

3 mode:"vertical"

4 })

返回拥有众多有用函数(functions)以及方法(methods)的对象:

·mySwiper.disableMousewheelControl()-滑动中禁掉鼠标滑轮(mousewheel control)控制

·mySwiper.enableMousewheelControl()-能够使用禁掉了的鼠标滑轮

·mySwiper.enableKeyboardControl()-滑动中键盘控制可用

·mySwiper.disableKeyboardControl()-禁用滑动中键盘控制

·mySwiper.swipeNext()-执行过渡动画到下一滑块(slide)(简单来说就是滑动到下一个页面)

·mySwiper.swipePrev()-执行过渡动画到上一滑块

·mySwiper.swipeTo(index,speed,runCallbacks) - 执行过渡到索引下标数字等于传入参数“index”的页面(slide)处,速度为传入的参数“speed”。同时可将“runCallbacks”设置为false(默认为“true”),那么transition(过渡)不会产生onSlideChange回调函数。

·mySwiper.browser.ie10 - 返回 “true”如果浏览器为IE10

·mySwiper.browser.is8 -返回 “true”如果浏览器为IE8

·mySwiper.support.touch -返回 “true”如果浏览器支持触屏

·mySwiper.support.transforms -返回 “true”如果浏览器支持css3 transforms(变形)

·mySwiper.support.transforms3d -返回 “true”如果浏览器支持css3 3D transforms(变形)

·mySwiper.support.transitions -返回 “true”如果浏览器支持css3 transitions(过渡)

·mySwiper.activeSlide() - 返回当前活动块(slide)(slide 实例,HTML元素)

·mySwiper.clickedSlideIndex - 返回触控/点击块(slide)的索引(数字)。只适用于“onSlideTouch”和“onSlideClick”

回调函数中。

·mySwiper.clickedSlide - 返回触控/点击块(slide)(slide实例,HTML元素)。只适于“onSlideTouch”和“onSlideClick”

回调函数中。

·mySwiper.activeIndex- 返回当前活动块的索引(number)

·mySwiper.activeLoopIndex- 返回当前活动块在loop 模式下的索引(number)

·mySwiper.activeLoaderIndex- 返回当前活动块在loader模式下的索引(number)

·mySwiper.previousIndex- 返回上一个活动块的索引(number)

·mySwiper.startAutoplay()-开始自动播放。应用于自定义“Play”和“Pause”按钮

·mySwiper.stopAutoplay()-停止自动播放。应用于自定义“Play”和“Pause”按钮

·mySwiper.destroy(removeResizeEvent) -移除所有绑定的事件监听(窗口的尺寸改变事件【如果removeResizeEvent的值不等于“false”】,容器(wrapper)的触控事件,以及文档的鼠标事件),对于添加/移除滑块,页面到文档时非常有用,能够释放浏览器内存。

·mySwiper.resizeFix()-调用这个方法当你改变swiper's 的尺寸而没有改变窗口大小时。

·mySwiper.reInit()- 重新初始化Swiper。对于动态添加/移除滑块非常有用。

·mySwiper.width 返回Swiper容器的宽度

·mySwiper.height返回Swiper容器的高度

·mySwiper.isTouched 返回布尔值,当触控该slide时返回“true”

·mySwiper.positions - 返回包含x,y坐标的wrapper对象

·mySwiper.touches - 返回包含触控信息的对象数组

·mySwiper.params - 获取对象初始化参数,能够在初始化之后改变/重写该参数,如:

mySwiper.params.speed = 500;

·mySwiper.getWrapperTranslate(axis)-返回当前容器“位移(translate)"【css3 transform ->translate】,即x,或y轴的偏移量。”axis“-参数为字符串”x“或”y“,对应于水平模式及垂直模式。

·mySwiper.setWrapperTranslate(x,y,z) - 手工设置css3 transform's translate 的值。x,y and z -为数字

·mySwiper.wrapperTransitionEnd(callback,permanent) - 使用该方法当Swiper ”transitionEnd“事件触发后能够自定义回调函数(在swipeNext,swipePrev,swipeTo 以及swipeReset 函数之后):

callback-函数(function)。默认状态下(如果permanent 值为false)transitions只执行一次

permanent - boolean . 默认状态下为false,当设置为真时该回调函数callback会执行多次。

选项(options)

Swiper 初始化 支持下列中的参数

Parameter(参数)

Type(类型)

Default Value(默认值

Example(例子)

Description(说明)

speed

number

300

600

slides滑块动画之间的持续时间(单位ms)

eventTarget

string

'wrapper'

'container'

swipers事件对象,默认状态下所有的触控事件只能用于wrapper。如若需要其他元素包含在container内以及使用swipers,那么可以使用'container'. 2.4.2版本新增

autoplay

number

5000

-

过渡延迟时间(单位ms),参数没有指定的情况下,不生效,(补充:当用户操作后autoplay失效)

autoplayDisableOnInteraction

boolean

true

false

当设置为false时,用户操作之后(swipes,arrow以及pagination 点击)autoplay不会被禁掉,用户操作之后每次都会重新启动autoplay。

autoplayStopOnLast

boolean

false

true

设置为false后autoplay在最后一个块下失效(在没有设置loop的情况下)

mode

string

'horizontal'

'vertical'

slides滑动方式,水平或垂直

loop

boolean

false

true

true 为loop模式生效

loopAdditionalSlides

number

0

2

loop模式下slides数量增加个数

loopedSlides

number

1

2

在loop模式下使用slidesPerview:'auto',还需使用该参数设置所要用到的loop个数

slidesPerView

number

or 'auto'

1

4

旋转模式下,设置slider's容器能够同时显示的slides数量。另外,支持'auto'值,会根据容器container的宽度调整slides数目。‘auto’不兼容loop模式

slidesPerViewFit

boolean

true

false

仅当已设置了slidesPerView:'auto',以及当slides的宽度大于容器,该参数生效。默认为true然后宽度大的slide 过渡时会划分为边缘的两部分。为false时,slide transition 会划分为比容器container大的多个slides

slidesPerGroup

number

1

2

定义slides的数量多少为一组,在旋转模式下有效。(carousel mode)

calculateHeight

boolean

false

true

当值为true时,Swiper根据slides内容计算容器高度。响应式布局中或不知道slides高度时十分有用(就像响应式的图片)

roundLengths

boolean

false

true

值为true时,Swiper会四舍五入宽度和高度,在响应式的滑块中包含误差时十分有用。

cssWidthAndHeight

boolean

false

true

值为true以及Swiper中的container,wrapper和slides没有高度

updateFormElements

boolean

true

false

当所有的内嵌图像(img标签)加载完成后Swiper会重新初始化。

watchActiveIndex

boolean

false

true

如果启用触屏事件期间会重新动态计算活动块的索引。

visiblilityFullfit

boolean

false

true

如果启用,仅有“可视”的slides会最后适应容器的大小

autoResize

boolean

true

false

值为false时,窗口尺寸改变时,禁掉slides自适应

DOManimation

boolean

true

false

在不支持css transitions(IE7-9)的浏览器上是否使用自定义的DOM动画

resistance

boolean or "100%"

true

false

值为false时禁用resistant bounds(抵抗反弹),设置为‘100%'时启用resistant(抵抗)模式

noSwiping

boolean

false

true

值为true时,当swiper新增类”noSwipingClass“的滑动块时,禁掉该元素的滑动。

preventLinks

boolean

true

false

启用时当碰触滑块(slides)时禁止标签链接

preventLinksPropagation

boolean

false

true

如滑动过程中需要跟preventLinks一起禁用stopPropagation,设置值为true

initialSlide

number

2

0

初始块(页面)的索引

useCSS3Transforms

boolean

true

false

值为false时禁用css3 transforms(减少内存,提高性能,同时也降低了美观),同时使用wrapper的left/top属性代替。

自由模式与滑块容器(Free Mode and Scroll Container)

Parameter(参数)

Type(类型)

Default Value(默认值

Example(例子)

Description(说明

freeMode

boolean

false

true

若为真slide坐标不固定

freeModeFluid

boolean

false

true

若为真,释放滑块之后仍会滑动一小会

scrollContainer

boolean

false

true

设置为真时,让Swiper看上去像滑动区(scrollable area)

momentumRatio

number

1

2

设置的值越大,当释放滑块时的动量距离越大

momentumBounce

boolean

true

false

false时禁用自由模式下的(free mode)动量弹性

momentumBounceRatio

number

1

2

值越大产生的动量弹性(momentum bounce)效果越明显

块(slides)偏移

Parameter(参数)

Type(类型)

Default Value(默认值

Example(例子)

Description(说明

centeredSlides

boolean

false

true

若为真,那么活动块会居中,而非默认状态下的居左

offsetPxBefore

number

0

100

指定slides与wrapper左边框的偏移量

offsetPxAfter

number

0

100

指定slides与wrapper右边框的偏移量

offsetSlidesBefore

number

0

2

滑块slides与wrapper左边框的偏移量等于等于指定滑块slides个数的宽度。这在响应式布局中而你又不知道slides宽度时,将十分有用。

offsetSlidesAfter

number

0

2

滑块slides与wrapper右边框的偏移量等于等于指定滑块slides个数的宽度。这在响应式布局中而你又不知道slides宽度时,将十分有用。

触屏/鼠标事件效应(Touch/mouse interactions )

Parameter(参数)

Type(类型)

Default Value(默认值

Example(例子)

Description(说明

touchRatio

number

1

0.8

触屏比率

simulateTouch

boolean

true

false

true,Swiper接受鼠标事件时与触屏事件相似。(单击以及拖曳滑块)

onlyExternal

boolean

false

true

值为true时,只能使用扩展API函数内的swipeRight 或swiperLeft改变slides滑动,其他失效。正如例子里的tabs切换十分有用

followFinger

boolean

true

false

值为false时,仅当你释放slide时才会滑动,当你用手指按住滑块它不会动。

grabCursor

boolean

false

true

该选项给Swiper用户提供小小的贴心应用,值为true时,光标在Swiper上时成手掌状。

shortSwipes

boolean

true

false

值为false时,禁用short swipes

longSwipesRatid

number

0.5

0.3

Swiper 中到上/下滑块的触发率

moveStartThreshold

number

false

100

滑动的临界值,临界值单位为px,如果触屏距离小于该值滑块不会运动。

Navigation

Parameter(参数)

Type(类型)

Default Value(默认值

Example(例子)

Description(说明

keyboardControl

boolean

false

true

值为true时,水平模式下,能使用键盘左右方向键滑动,垂直模式下能使用上下方向键滑动

mousewheelControl

boolean

false

true

值为true时,能够使用鼠标滑轮滑动swiper

mousewheelControlForceToAxis

boolean

false

true

值为真时,鼠标轮滑会改变轴向,所以水平模式下的鼠标滑轮只作用于水平鼠标滑块,垂直的作用于垂直模式。

Pagination(分页器)(指示器)

Parameter(参数)

Type(类型)

Default Value(默认值

Example(例子)

Description(说明

pagination

string or HTML Element

-

'.my-pagination'

css选择器中的分页。或者HTML元素内的分页元素

paginaClickable

boolean

false

true

值为真时,当单击指示器时会执行过渡动画到目标slide

paginationAsRange

boolean

true

为真时,跟可见块相关的指示器按钮会新增css类。当使用slidesPerview超过1时会十分有用。

createPagination

boolean

true

false

值为真时,Swiper会在slider内生成与slides数量相同的SPAN标签。所有这些生成的span标签都在pagination容器内。每一个span标签都有一个”swiper-pagination-switch“类名,活动的span(及当前slide下的)有一个为”swiper-active-switch’的类名,对于这些使用样式十分有用。

命名空间namespace

Parameter(参数)

Type(类型)

Default Value(默认值

Example(例子)

Description(说明

wrapperClass

string

'swiper-wrapper'

'my-wrapper'

Swiper内wrapper的css类。具体查看上面的例子

slideClass

string

'swiper-slide'

'my-slide'

Swiper内slide的css类名。具体查看上面的例子

slideActiveClass

string

'swiper-slide-active'

'my-active-slide'

Swiper内活动块的css类名。。。

slideActiveClass

string

'swiper-slide-visible'

'my-visible-slide'

Swiper内可视块的css类名。。。

slideElement

string

'div'

'li'

使用单一滑块的标签

noSwipingClass

string

'swiper-no-swiping'

'stop-swiping'

html元素使用的类名,当noSwiping参数设置为true时,用于禁止滑动

paginationElement

string

'span'

'div'

使用唯一指示按钮的标签

paginatinElementClass

string

'swiper-pagination-switch'

'my-switch'

使用多个指示按钮的类名

paginationActiveClass

string

'swiper-active-switch'

'my-active-switch'

当前活动指示按钮的类名

paginationVisibleClass

string

'swiper-visible-switch'

'my-visible-switch'

可见指示按钮的类名

回调函数(Callbacks)

Parameter(参数)

Type(类型)

Default Value(默认值

Example(例子)

Description(说明

queueStatCallbacks

boolean

false

true

设置为true时,‘slideChangeStart’回调函数入队,所以在快速滑动过程中回调函数只被调用一次。

queueEndCallbacks

boolean

false

true

设置为true时,‘slideChangeEnd’回调函数入队,所以在快速滑动结束后回调函数只被调用一次。

onFirstInit

funciton

-

function(swiper)

{

//执行代码

}

回调函数,首次初始化后马上执行

onInit

function

-

function(swiper){

//执行代码

}

回调函数,在其他所有的初始化/再初始化后马上执行

onSwiperCreated

function

-

function(swiper){

//执行代码

}

回调函数,当Swiper初始化完成,loop,pagination,等其他参数或方法生成之后执行

onTouchStart

function

-

function(swiper){

//执行代码

}

回调函数,当碰触到slider时马上执行

onTouchMove

function

-

function(swiper){

//执行代码

}

回调函数,当碰触slider到释放期间执行。

onTouchEnd

function

-

function(swiper){

//执行代码

}

回调函数,当释放slider时执行

onSlideReset

function

-

function(swiper){

//执行代码

}

回调函数,释放滑块之后,滑块将要滑到当前活动的slide时执行。freeMode模式下不生效。

onSlideChangeStart

funciton

-

function(swiper){

//执行代码

}

回调函数,当动画开始过渡到另一slide时执行,即动画开始时执行。freeMode模式下不生效。

onSlideChangeEnd

function

-

function(swiper){

//执行代码

}

回调函数,过渡动画结束后执行,即滑块活动停止后执行。freeMode模式下不生效。

onSlideNext

function

-

function(swiper){

//执行代码

}

回调函数,与onSlideChangeStart相似,但该函数只能在滑向下一slide开始时生效

onSlidePrev

funciton

-

function(swiper){

//执行代码

}

回调函数,与onSlideChangeStart相似,但该函数只能在滑向上一slide开始时生效

onSlideTouch

function

-

function(swiper){

//执行代码

}

回调函数,当触碰事件发生后生效。与onToucStart相似,不过该函数会返回.clickedSlide和.clickedSlideIndex的值

onImageReady

function

-

function(swiper){

//执行代码

}

回调函数,所有内置图像加载完成后执行,同时“updateOmImagesReady”需设置为“true’

onMomentumBounce

function

-

function(swiper){

//执行代码

}

回调函数,执行于动量反弹(momentum bounce)过程中

onResistanceBefore

funciton

-

function(swiper,p){

//执行代码

}

回调函数,执行于negative resistance过程中。p-返回抵抗距离。

onResistanceAfter

funciton

-

function(swiper,p){

//执行代码

}

回调函数,执行于positive resistance过程中。p-返回抵抗距离。

onSetWrapperTransition

function

-

function(swiper,duration){

//执行代码

}

回调函数,每次当Swiper开始动画时执行

onSetWrapperTransform

funciton

-

function(swiper,transform){

//执行代码

}

回调函数,swiper的容器wrapper改变其坐标时执行。返回带当前transform 的偏移量的对象。

Example

以下需要引用jQuery文件

1

2

3

4

5 $(document).ready(function(){

6

7 var mySwiper = $('.swiper-container').swiper({

8

9 mode : 'vertical', //选择垂直模式,

10

11 speed : 500, //设置动画持续时间500ms

12

13 freeMode : true, //开启自由模式

14

15 freeModeFluid : true, //开启'fluid'自由模式

16

17 onTouchStart : function() {

18

19 //触控滑块时执行代码

20

21 alert('OMG you touch the slide!')

22

23 }

24

25 }

26

27 })

28

29

Callbacks API

从Swiper2.4版本开始增加了一些回调函数,现在添加一些函数到上面。

当初始化Swiper时,旧版本指定回调函数的方式:

1 $(document).ready(function(){

2

3 var mySwiper = new Swiper('.swiper-container',{

4

5 mode:'vertical',

6

7 speed: 600,

8

9 onSlideChangeStart: function(swiper){

10

11 alert('Hello 1');

12

13 }

14

15 });

16

17 });

新版本中能够实现无需完全重写onSlideChangeStart参数,可以添加新函数到回调函数中。

1 mySwiper.addCallback('SlideChangeStart', function(swiper){

2

3 alert('Hello 2');

4

5 })

你会发觉在过渡动画开始时弹出“Hello 1” 以及“Hello 2“,该种方式下addCallback方法需要注意该回调函数名不包含”on“。

解除(fire)callback 函数语句:

mySwiper.fireCallback('SlideChangEnd',mySwiper);

移除(remove)callbacks:

mySwiper.removeCallback('SlideChangEnd');

Slides API

Swiper提供强大的Slides API,能够动态生成/删除/操作Slides(滑块)

Slide 实例

这个实例是简单的HTML元素但扩展了非常有用的方法。

下面的例子变量mySwiper包含了属性和方法的Swiper对象。

1

2 $(document).ready(function(){

3    var mySwiper = $('.swiper-container').swiper({

4   mode : 'vertical', //切换到垂直模式

5   speed : 500, //动画持续时间

6   freeMode : true, //启动自由模式

7   freeModeFluid : true, //启动'fluid'自由模式

8   onTouchStart : function() {

9   //触碰滑块是的事件

10   alert('OMG you touch the slide!')

11 }

12 }

13 })

通过调用一下方法,你能生成Swiper滑块实例:

mySwiper.createSlide(html,slideClassList,element),其中:

html(string[字符型],required[必需的])-生成的滑块的HTML元素的内容

slideClassList(stirng[字符型],optional[可选的])- 创建类”class“属性。缺省值为"swiper-slide "

element(string[字符型],optional[可选的])-创建滑块的HTML标签,缺省值为"div"

1 var mySwiper = $(".swiper-container").swiper({...some optins...})

2

3 //创建一个新的swiper实例

4

5 var newSlide = mySwiper.createSlide("

Here is my new slide

");

6

7 //生成的HTML滑块:"

Here is my new slide

"

8

9 var newSlide = mySwiper.createSlide("

Hello

","swiper-slide red-slide","span");

10

11 //生成的HTML滑块:"

Hello

"

"newSlide"变量包含在新建Slide实例之后,但如今还在内存中,并不在slider中。为了将其添加到slider中,能够使用一下链式方法有效地添加到Slide实例中:

newSlide.append()-添加slide到slider中的最后一个位置。返回Slide实例

newSlide.prepend()-添加slide到slider中的第一个位置。返回Slide实例

newSlide.remove()-移除slide

newSlide.getWidth()-返回slide宽度

newSlide.getHeight()-返回slide高度

newSlide.getOffset()-返回包含滑块left、top偏移量的对象

newSlide.insertAfter(index)[index-number]-插入新滑块到index索引之后。返回Slide实例

newSide.clone()-复制slide到新slide实例。返回新复制的Slide实例

1 //例子

2

3 var mySwiper = $(".swiper-container").swiper({...some optins...})

4

5 var newSlide = mySwiper.createSlide("

Here is my new slide

");

6

7 newSlide.append()//newSlide添加到所有已存在的slides后面

8

9 var newSlide = mySwiper.createSlide("

Hello

","swiper-slide red-slide","span");

10

11 newSlide.prepend()//-newSlide添加到所有已存在的slides的前面(第一个位置)

12

13 //复制、插入Slide

14

15 var clonedSlide = newSlide.clone();

16

17 clonedSlide.append();

18

19 //crazy 链式

20

21 var newSlide = mySwiper.createSlide("

Here is my new slide

");

22

23 newSlide.prepend().clone().append().clone().inertAfter(2)

24

25 //-新创建的slide被添加到所有已存在的slide前面,然后复制slide并添加到最后,接着在复制添加到index为2的位置上

还有一些有用的方法:

slide.html(innerHTMl)[innerHTMl-string]-工作方式类似于jQuery/Zepto.html()方法。如果指定innerHTML,那么它会替代原来slide里的inner html内容,然后方法返回slide实例。

如果innerHTML没有指定,返回slide中inner html内容。

slide.index()-返回slide索引

slide.isActive()返回true如果该块是活动的

slide.setData(name,value)[name-string]-存储数据方法,能够存储所有类型变量-数组,对象,数字,字符等等

slide.getData(name)[name-string]返回存储的变量值

slide.data(name,value)[name-string,value-string]-保存变量值到data-[name]属性中

slide.data(name)[name-string]-返回data-[name]属性值

1 //例子

2

3 var mySwiper = $('.swiper-container').swiper({...some options...})

4

5 //创建slide实例

6 var newSlide = mySwiper.createSlide('

Here is my new slide

');

7 newSlide.append().clone().html('

New HTML

').prepend()

8 // 新创建的slide被添加到最后,然后复制该slide并添加html内容,最后插入到第一个位置

9

10 var newSlide = mySwiper.createSlide('

Here is my new slide

');

11 alert(newSlide.html()) // ->

Here is my new slide

12

13 Store/Get data:

14 newSlide.prepend().setData('apples',['iMac', 'MacBook Pro', 'iPhone', 'iPad'])

15 newSlide.getData('apples') // -> ['iMac', 'MacBook Pro', 'iPhone', 'iPad']

16

17 newSlide.data('apple','iPad');

18 newSlide.data('apple') //->'iPad'

Swiper Slides

好的,让我们 看看swiper是如何操作存在的slides(添加/移除)

mySwiper.slides-slides数组(slides对象)

mySwiper.appendSlide(innerHTMl,slideClassList,element)-创建新滑块并插入到slider最后面。返回slide实例:其中:

html(string[字符型],required[必需的])-生成的滑块的HTML元素的内容

slideClassList(stirng[字符型],optional[可选的])- 创建类”class“属性。缺省值为"swiper-slide "

element(string[字符型],optional[可选的])-创建滑块的HTML标签,缺省值为"div"

mySwiper.appendSlide(slideInstance)[slideInstance-HTMLElement]-插入到slider末尾。返回slide实例

mySwiper.prependSlide(innerHTMl,slideClassList,element)-新创建slide并插入到slider首位置。返回slide实例

mySwiper.prependSlide(slideInstance)[slideInstance-HTMLElement]-将slideInstance插入到slider首位置。返回slide实例。

mySwiper.insertSlideAfter(index,innerHTML,slideClassList,element)-新创建slide并插入到slider指定的索引位置index。返回slide实例。

mySwiper.insertSlideAfter(index,slideInstance)-将slideInstance插入到slider指定的索引位置index。返回slide实例。

mySwiper.removeSlide(index)[index-numer]-移除索引为index的slide

mySwiper.removeLastSlide()-移除最后一个slide

mySwiper.removeAllSlides()-移除所有slides

mySwiper.getSlide(index)[index-number]-返回index索引的slide

mySwiper.getLastSlide()-返回最后一个slide

mySwiper.getFirstSlide()-返回第一个slide

1 //例子:

2

3 //创建slide并插入

4 mySwiper.appendSlide('Hello World')

5 //或者:

6 var newSlide = mySwiper.createSlide('Hello World')

7 mySwiper.appendSlide(newSlide)

8 //或者:

9 mySwiper.appendSlide( mySwiper.createSlide('Hello World') )

10

11 //复制第一个slide并插入到最后

12 mySwiper.getFirstSlide().clone().append();

13 //或者:

14 mySwiper.appendSlide( mySwiper.getSlide(0).clone() )

15

16 //复制第二个slide修改内容并插入到最后

17 mySwiper.getSlide(1).clone().html('Hello New World!').append();

18

19 //移除最后一个slide

20 mySwiper.removeLastSlide()

21

22 //移除第二个slide

23 mySwiper.removeSlide(1)

24

25 //Trick: 更换第一与第二个slide位置

26 mySwiper.getSlide(0).insertAfter(1)

27

28 //Trick: 移动第一个slide到最后一个位置

29 mySwiper.getFirstSlide().append()

30

31 //slide数量

32 alert(mySwiper.slides.length)

33

34 //改变每个slide的html

35 for (var i = 0; i < mySwiper.slides.length; i++) {

36 var slide = mySwiper.slides[i]

37 slide.html('

My index number is '+i+'

')

38 }

Important Notes

重要备注

当使用改变slides数量的方法时(例如append,prepend,remove等等),reInit()方法会被调用然后slides数量会自动重新计算。所以非常不推荐动态添加/删除slides时在"for"循环中使用"slides.length" ,因为这样做可能产生死循环。

UniApp Swiper 是一款基于 Vue.js 的轮播组件,它在 UniApp 开发框架中用于展示图片、内容块或其他视图切换效果。Swiper 的选项卡功能允许你创建一个包含多个面板(tab)的导航栏,用户可以通过点击不同的标签页切换显示的内容。 在使用 UniApp Swiper 的选项卡模式时,你可以设置以下几个关键配置: 1. **tabs** 或 **tabbar**: 这是一个数组,包含每个标签项的信息,包括 label(标签文字)、page(对应页面的索引或组件引用)等。 ```json { tabs: [ {label: 'Tab 1', page: 0}, {label: 'Tab 2', page: 1}, {label: 'Tab 3', page: 2} ] } ``` 2. **mode**: 设置为 "horizontal" 或 "vertical" 来控制滑动方向,默认是 "horizontal"。 3. **activeIndex**: 初始选中的标签索引。 4. **pagination**: 是否显示分页指示器,默认启用。 5. **autoplay**: 自动滚动功能,可以设置自动切换的速度。 6. **events**: 可自定义滑动切换时触发的各种事件,如 change、click等。 使用时,需要先安装 Swiper 组件并导入到项目中,然后在 Vue 实例中注册并配置该组件。示例代码如下: ```html <template> <uni-swipe v-bind="swiperOptions" @change="onSlideChange"> <view v-for="(item, index) in pages" :key="index">{{ item.content }}</view> </uni-swipe> </template> <script setup> import { ref } from 'vue' import { Swiper, SwiperOption } from '@dcloudio/uni-app' const swiperOptions = ref<SwiperOption>({ // ... 初始化配置 tabs: ['Tab 1', 'Tab 2', 'Tab 3'], // 其他选项... }) const pages = [/* 页面数据 */] function onSlideChange(index) { console.log('当前标签页:', index) } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值