千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > Swiper.js的全面解析

Swiper.js的全面解析

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-23 16:36:51 1700728611

一、Swiper.js文檔

Swiper.js是一個強大的移動設(shè)備觸摸滑塊框架,在移動端網(wǎng)站和Web應用程序開發(fā)中非常受歡迎。它具有極高的可定制性,能夠幫助開發(fā)者實現(xiàn)各種特效和動畫效果。下面我們來看一下Swiper.js文檔中的一些最重要的概念和用法。

1. Swiper實例化

var mySwiper = new Swiper('.swiper-container', {
  //參數(shù)配置
})

2. Swiper參數(shù)配置

var mySwiper = new Swiper('.swiper-container', {
  //方向,可設(shè)置水平(horizontal)或垂直(vertical)
  direction: 'horizontal',
  //速度,單位為毫秒,默認為300
  speed: 300,
  //切換效果,有5種切換效果,包括淡入淡出、平移、立方體旋轉(zhuǎn)、翻轉(zhuǎn)和立方體翻轉(zhuǎn)
  effect: 'slide',
  //循環(huán)模式,即是否循環(huán)滑塊,默認為false
  loop: false,
  //分頁器,可以使用Swiper自帶的分頁器插件實現(xiàn)
  pagination: {
    el: '.swiper-pagination',
    clickable: true,
  },
  //前進后退按鈕,需要使用Swiper自帶的前后箭頭插件
  navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },
  //自動播放
  autoplay: {
    delay: 3000,
    disableOnInteraction: false,
  },
})

3. Swiper事件監(jiān)聽

var mySwiper = new Swiper('.swiper-container', {
  on: {
    //初始化時觸發(fā)
    init: function(){
      console.log('Swiper-initialized');
    },
    //滑塊切換時觸發(fā)
    slideChange: function(){
      console.log('Slide-changed');
    },
  },
})

二、Swiper.js文 更新slider

Swiper.js更新后,新增了slider用法,可以方便地實現(xiàn)分頁滑塊效果。

1. Swiper實例化

var mySwiper = new Swiper('.swiper-container', {
  //參數(shù)配置
  //...
  //增加sliderClass,并設(shè)置為swiper-slide元素的父元素
  //可以解決分頁器數(shù)量不一致的問題
  sliderClass: 'swiper-slides',
})

2. 模板

slide1
slide2
slide3

三、Swiper.js無限擴展

Swiper.js可以通過一些小技巧來實現(xiàn)循環(huán)滑塊效果,從而實現(xiàn)無限擴展。這個功能在輪播圖等場景中非常實用。

1. 設(shè)置循環(huán)模式

var mySwiper = new Swiper('.swiper-container', {
  //參數(shù)配置
  //...
  loop: true,
})

2. 添加首尾元素


slideN+1
slideN+2
slide1
slide2
...
slideN
slide1
slide2

3. 切換動畫

//CSS動畫樣式
.swiper-slide-next, .swiper-slide-prev {
  z-index: 2;
}

.swiper-slide-active {
  z-index: 1;
}

.swiper-slide-next {
  animation: animeNext 1s;
}

.swiper-slide-prev {
  animation: animePrev 1s;
}

@keyframes animeNext {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes animePrev {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

四、Swiper.js更新內(nèi)容

Swiper.js在不斷更新迭代,也帶來了更多優(yōu)秀的功能和細節(jié);這些更新內(nèi)容,可以給我們帶來更好的開發(fā)體驗。

1. 修改分頁器顏色

//CSS樣式
.swiper-pagination-bullet-active {
  background-color: #007aff;
}

2. 禁止分頁器按鈕

var mySwiper = new Swiper('.swiper-container', {
  //參數(shù)配置
  //...
  //設(shè)置disabledClass即可禁用分頁器
  pagination: {
    el: '.swiper-pagination',
    clickable: true,
    disabledClass: 'swiper-pagination-disabled',
  },
})

3. 延遲加載圖像

//HTML模板
//JS配置 var mySwiper = new Swiper('.swiper-container', { //參數(shù)配置 lazy: { //一次加載圖像數(shù)量 loadPrevNext: 2, //加載圖像前的延遲時間,單位為毫秒 loadPrevNextAmount: 500, }, })

五、Swiper.js禁止滑動設(shè)置

Swiper.js可以禁用滑動功能,從而實現(xiàn)靜態(tài)展示和優(yōu)化性能的效果。

var mySwiper = new Swiper('.swiper-container', {
  //參數(shù)配置
  //...
  //禁用鼠標點擊和鼠標拖動滑動
  allowTouchMove: false,
})

六、Swiper.js輪播動畫勻速選取

Swiper.js可以通過CSS3動畫,實現(xiàn)輪播動畫勻速選取。

//CSS3動畫樣式
.swiper-slide {
  opacity: 0;
  animation: swiperFadeIn 2s ease forwards;
}

@keyframes swiperFadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

以上是Swiper.js的一些重要用法和小技巧的詳細解析。它不僅可以應用于移動網(wǎng)站和Web應用程序,還可以擴展到桌面端和大屏幕等設(shè)備上。相信大家可以通過學習Swiper.js,掌握更加高效、漂亮和流暢的Web開發(fā)技巧。

tags: swiperjs
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT