国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用 swiper 做輪播圖

這篇具有很好參考價(jià)值的文章主要介紹了使用 swiper 做輪播圖。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

swiper自動(dòng)輪播,web前端,前端,javascript

大好好,我是 17。
雖然我是一個(gè)喜歡造輪子的人,但是對(duì)于 swiper,我還是直接拿過(guò)來(lái)用了,功能很多,也很方便。本文介紹一些常用的功能。

版本 Swiper 8.3.0

基本用法

<div class="swiper mySwiper">

      <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-next"></div>
      <div class="swiper-button-prev"></div>
</div>
var swiper = new Swiper(".mySwiper", {
 /**
   * 設(shè)置Slide的切換效果,默認(rèn)為"slide"(普通位移切換),
   * 還可設(shè)置為"fade"(淡入)、"cube"(方塊)、"coverflow"(3d流)、
   * "flip"(3d翻轉(zhuǎn))、"cards"(卡片式)、"creative"(創(chuàng)意性)。
   */
  effect:slide,
  //自動(dòng)播放
  autoplay:true,
  // 垂直切換
  direction: "vertical", 
  // slider容器能夠同時(shí)顯示的 slides 數(shù)量
  slidesPerView: 3,
  // 在slide之間設(shè)置距離(px)
  spaceBetween: 10,
  // 定義slides的數(shù)量多少為一組,就是一頁(yè)切換多少個(gè)slides
  slidesPerGroup: 3,
  // 重復(fù)
  loop: true,
  /**
   * 默認(rèn)情況下Swiper 每次滑動(dòng)時(shí)只滑動(dòng)一個(gè)Slide,并且會(huì)自動(dòng)貼合Wrapper。
   * 開啟自由模式后,Swiper 會(huì)根據(jù)慣性滑動(dòng)可能不止一格且不會(huì)貼合。
   * 
   * 自由模式影響的是鼠標(biāo)拖動(dòng)或touch移動(dòng),分頁(yè)器不受影響。
   */
  freeMode:false,
  /**
   * 居中幻燈片。設(shè)定為true時(shí),當(dāng)前的active slide 會(huì)居中,而不是默認(rèn)狀態(tài)下的居左。
   *
   * 一般來(lái)說(shuō),要配置 loop:true 一起使用,否則初始的時(shí)候,并沒有居中的效果。
  */
  centeredSlides: true,
  //左右切換按鈕
  navigation: {
    nextEl: ".swiper-button-next",
    prevEl: ".swiper-button-prev",
  },
  //分頁(yè)
  pagination: {
    el: ".swiper-pagination",
    clickable: true,
  },
  on:{
    click: function(e){
      // 打印當(dāng)前索引
      console.log(e.activeIndex)
    }
  },
});

我把所有常用配置的都寫上了,不需要哪個(gè)直接刪除就好。

最外層的 swiper 的樣式

margin-left: auto;
margin-right: auto;
position: relative;

并沒有設(shè)置高寬,需要使用者來(lái)設(shè)置寬高,如果外層容器比它寬,它會(huì)左右居中顯示。

內(nèi)層的 swiper-wraper 的樣式

position: relative;
width: 100%;
height: 100%;
z-index: 1;
display: flex;
transition-property: transform;
box-sizing: content-box;

大小與 swiper 相同。里面的 swiper-slide 從左到右依次排列。默認(rèn)效果 effect:'slide',就是左路右滑動(dòng)的效果。通過(guò)在 swiper-wraper上 每次更改 transform: translate3d(X,0,0) 的 X 值,形成動(dòng)畫。所以我們可以更改通過(guò)改變 animation-timing-function 來(lái)更改緩動(dòng)效果。樣式中已經(jīng)指定的 duration 為 2s ,但不會(huì)生效,duration 只能通過(guò) js 由 speed 參數(shù)來(lái)修改。不過(guò),樣式中的 0.2s delay 是有效的。

.swiper-wrapper{
  /* 通過(guò)改變animation-timing-function 制作彈性切換效果 */
      transition: 2s cubic-bezier(0.68, -0.4, 0.27, 1.34) 0.2s;
 }
var swiper = new Swiper('.swiper-container', {
  speed: 2000,
    navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    },
 });

swiper-slider 的樣式是

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

當(dāng)給 swiper-slider 加 border 的時(shí)候,由于外面的 swiper overflow:hidden會(huì)導(dǎo)致 邊框顯示不全。所以我們需要給 swiper-slider class 增加一條樣式

 box-sizing:border-box;

分頁(yè)器

pagination: {
  el: ".swiper-pagination",
  type: "fraction",
}

type有幾種

  1. ‘bullets’ 圓點(diǎn)(默認(rèn))
  2. ‘fraction’ 分式 ,形如 (1/10)
  3. ‘progressbar’ 進(jìn)度條 ,在頂部的一個(gè)細(xì)長(zhǎng)條,頁(yè)碼越大,長(zhǎng)條越長(zhǎng)。

或者是自定義

.swiper-pagination-bullet {
   /*自定義分頁(yè)器樣式 */
}

.swiper-pagination-bullet-active {
  /*自定義 當(dāng)前 分頁(yè)器樣式 */
}
pagination: {
  el: ".swiper-pagination",
  clickable: true,
  //自定義分頁(yè)器 html
  renderBullet: function (index, className) {
    return '<span class="' + className + '">' + (index + 1) + "</span>";
  },
},

立體效果

swiper自動(dòng)輪播,web前端,前端,javascript

.swiper-slide {
  transition-duration: .2s;
  transform: scale(0.8);
}
.swiper-slide-active,.swiper-slide-duplicate-active{
  transform: scale(1);
}
 var swiper = new Swiper('.swiper-container', {
      slidesPerView: 3,
      spaceBetween: 30,
      centeredSlides: true,
      loop: true,
      pagination: {
        el: '.swiper-pagination',
        clickable: true,
      },
 });

從樣式可以看出,是中間大,兩邊小。加上 transition后,尺寸切換會(huì)變得平滑。

左右各露出一部分

swiper自動(dòng)輪播,web前端,前端,javascript

.swiper-slide {
  width: 60%;
}
var swiper = new Swiper('.mySwiper', {
  slidesPerView: 'auto',
  spaceBetween: 60,
  centeredSlides: true,
  loop: true,
  pagination: {
    el: '.swiper-pagination',
    clickable: true,
  },
});

原本是只顯示一個(gè) slide,但樣式上指定 width: 60%; js 又指定 centeredSlides: true后,左右兩邊就會(huì)有一部分顯示出來(lái)。

縮略圖控制

swiper自動(dòng)輪播,web前端,前端,javascript

 <div class="swiper swiper-big">
      <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 class="swiper-slide">Slide 4</div>
        <div class="swiper-slide">Slide 5</div>
        <div class="swiper-slide">Slide 6</div>
        
      </div>
      <div class="swiper-button-next"></div>
      <div class="swiper-button-prev"></div>

  </div>
  <div class="swiper swiper-small">
    <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 class="swiper-slide">Slide 4</div>
      <div class="swiper-slide">Slide 5</div>
      <div class="swiper-slide">Slide 6</div>
      
    </div>
</div>
var swiperSmall = new Swiper(".swiper-small", {
  loop:true,
  spaceBetween: 10,
  slidesPerView: 4,
  freeMode: true,
  watchSlidesProgress: true,
});
new Swiper(".swiper-big", {
  loop:true,
  navigation: {
    nextEl: ".swiper-button-next",
    prevEl: ".swiper-button-prev",
  },
  thumbs: {
    swiper: swiperSmall,
  },
});

大圖 swiper 和小圖 swiper 是完全分開的。swiper: swiperSmall 將大小圖關(guān)聯(lián)在一起。

小圖的 watchSlidesProgress: true 是必須的。 slidesPerView 應(yīng)該大于1。

要想循環(huán)的話,兩個(gè) swiper 都需要寫上 loop:true

定位錨點(diǎn)

<div class="swiper">
    <div class="swiper-wrapper">
	<div class="swiper-slide" data-hash="slide1">slider1</div>
        <div class="swiper-slide" data-hash="slide2">slider2</div>
        <div class="swiper-slide" data-hash="slide3">slider3</div>
	</div>
</div>
new Swiper('.swiper',{ hashNavigation: true, })

視差效果

網(wǎng)頁(yè)效果

<div class="swiper-slide">
  <div class="title" data-swiper-parallax="-100">從右邊100px開始進(jìn)入</div>
  <div class="subtitle" data-swiper-parallax="-200">從右邊200px開始進(jìn)入</div>
  <div class="text" data-swiper-parallax="-300" data-swiper-parallax-duration="600">
    <p>從右邊300px開始進(jìn)入,時(shí)間600ms</p>
  </div>
  <div data-swiper-parallax="0" data-swiper-parallax-opacity="0.5" >透明度變化</div>
  <div data-swiper-parallax-scale="0.15" >縮放變化</div>
</div>
</div>
var mySwiper = new Swiper('.swiper',{ parallax : true, })

響應(yīng)式設(shè)置

縮小放大網(wǎng)頁(yè)寬度查看
頁(yè)面效果

breakpoints: {
    640: {
      slidesPerView: 2,
      spaceBetween: 20,
    },
    768: {
      slidesPerView: 4,
      spaceBetween: 40,
    },
    1024: {
      slidesPerView: 5,
      spaceBetween: 50,
    },
 },

不是階躍式的變化,而是逐漸變化,這樣會(huì)對(duì)內(nèi)容有較高的要求。

常用函數(shù)

  • mySwiper.slideNext(speed, runCallbacks)
  • mySwiper.slidePrev(speed,runCallbacks)
  • mySwiper.slideTo(index, speed, runCallbacks)
  • mySwiper.slideToLoop(index, speed, runCallbacks)

其它應(yīng)用

除了 slide 切換功能,swiper還可以用作滾動(dòng)容器,有自定義滾動(dòng)條。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-721966.html

到了這里,關(guān)于使用 swiper 做輪播圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序輪播圖swiper使用

    微信小程序輪播圖swiper使用

    文章目錄 一、swiper的作用? 二、使用步驟 1.引入庫(kù) 2.讀入數(shù)據(jù) 總結(jié) 小程序中創(chuàng)建輪播圖。 微信開放文檔中組件--》視圖容器--》swiper將下面代碼拷貝 ? 將代碼粘貼至需要輪播圖的頁(yè)面,并根據(jù)實(shí)際情況修改代碼 這里的tabList和img是根據(jù)接口傳來(lái)的數(shù)據(jù),需要在js中定義,這

    2024年02月12日
    瀏覽(25)
  • 英雄聯(lián)盟輪播圖自動(dòng)輪播

    英雄聯(lián)盟輪播圖自動(dòng)輪播

    六月過(guò)去了,七月還會(huì)遠(yuǎn)嗎?不知不覺到了六月底的最后一天。你好,七月! 大家好,我是小陳陳呀,上次寫了一篇英雄聯(lián)盟輪播圖手動(dòng)輪播,當(dāng)天晚上有很多大朋友小朋友私信小陳陳:可以在上次手動(dòng)輪播的基礎(chǔ)上,實(shí)現(xiàn)自動(dòng)輪播的話,那樣會(huì)不會(huì)更炫酷呢?炫不炫酷我不

    2023年04月08日
    瀏覽(30)
  • Html+CSS+JS輪播圖:手動(dòng)輪播,自動(dòng)輪播
  • 在vue中使用swiper輪播圖(搭配watch和$nextTick())

    在vue中使用swiper輪播圖(搭配watch和$nextTick())

    在組件中使用輪播圖展示圖片信息: 1.下載swiper,5版本為穩(wěn)定版本 cnpm install swiper@5 2.在組件中引入swiper包和對(duì)應(yīng)樣式,若多組件使用swiper,可以把swiper引入到main.js入口文件中: import \\\'swiper/css/swiper.css\\\' //引入swiper樣式 import Swiper from \\\'swiper\\\'; //引入swiper ?3.在組件中使用: 由于我

    2024年02月13日
    瀏覽(23)
  • 解決微信小程序swiper輪播圖撐不滿有留白 實(shí)現(xiàn)swiper輪播圖撐滿父容器

    解決微信小程序swiper輪播圖撐不滿有留白 實(shí)現(xiàn)swiper輪播圖撐滿父容器

    問題 :如下圖,swiper輪播圖兩側(cè)會(huì)有留白,沒有撐滿swiper 失敗的嘗試 : 1.調(diào)整圖片尺寸 2.設(shè)屬性設(shè)置image的mode為scaleToFill 3.設(shè)置item的屬性 都沒能實(shí)現(xiàn)將圖片填充滿輪播圖,圖片會(huì)有右側(cè)和底部?jī)蓧K留白 通過(guò)調(diào)試器查看到image區(qū)域很小,懷疑是image本身屬性的問題 隨后嘗試在

    2024年04月25日
    瀏覽(103)
  • 12-web前端輪播圖案例 (小米商城)

    12-web前端輪播圖案例 (小米商城)

    說(shuō)明: 輪播圖在前端開發(fā)中是一種常見的元素,通常用于展示一系列的圖片或者內(nèi)容,并通過(guò)滑動(dòng)或者點(diǎn)擊的方式進(jìn)行切換。使用JavaScript來(lái)實(shí)現(xiàn)輪播圖有以下幾個(gè)意義: 提升用戶體驗(yàn):輪播圖可以在有限的空間內(nèi)展示更多的內(nèi)容,為用戶提供更多的信息。同時(shí),輪播圖也具

    2024年02月08日
    瀏覽(19)
  • 基于html+js實(shí)現(xiàn)輪播圖(自動(dòng)輪播、左右按鈕、小圓點(diǎn)點(diǎn)擊及切換圖片)

    基于html+js實(shí)現(xiàn)輪播圖(自動(dòng)輪播、左右按鈕、小圓點(diǎn)點(diǎn)擊及切換圖片)

    使用html和js實(shí)現(xiàn)的一個(gè)簡(jiǎn)單小練習(xí)輪播圖。大概功能主要是: 1、使用時(shí)間函數(shù)自動(dòng)切換圖片; 2、在圖片及按鈕及小圓點(diǎn)的父節(jié)點(diǎn)身上綁定事件代理,添加mouseenter及mouseleave事件類型,讓鼠標(biāo)移入,圖片暫停,移出,圖片恢復(fù)輪播; 3、在按鈕的父節(jié)點(diǎn)身上綁定事件代理,事

    2024年02月11日
    瀏覽(19)
  • 微信小程序swiper實(shí)現(xiàn)層疊輪播圖

    微信小程序swiper實(shí)現(xiàn)層疊輪播圖

    在微信小程序中,需要實(shí)現(xiàn)展示5個(gè),橫向?qū)盈B的輪播圖效果,輪播圖由中間到2側(cè)的依次縮小.如下圖 使用原生小程序進(jìn)行開發(fā),沒有使用Skyline模式,所以layout-type配置項(xiàng)也無(wú)效。所以基于swiper組件進(jìn)行調(diào)整。 主要思路就是設(shè)置不同的樣式,根據(jù)當(dāng)前激活的項(xiàng),來(lái)動(dòng)態(tài)切換樣式。

    2024年01月24日
    瀏覽(95)
  • JS常用插件 Swiper插件 實(shí)現(xiàn)輪播圖

    JS常用插件 Swiper插件 實(shí)現(xiàn)輪播圖

    Swiper 是一款免費(fèi)以及輕量級(jí)的移動(dòng)設(shè)備觸控滑塊的js框架 中文官網(wǎng)地址: https://www.swiper.com.cn/ 點(diǎn)擊查看 Swiper演示 ,里面的功能和樣式十分豐富,根據(jù)自己的需求選擇 中文教程 中詳細(xì)介紹了如何使用Swiper API文檔 中介紹了各個(gè)模塊以及參數(shù)的詳細(xì)信息,遇到不明白的參數(shù)可以

    2024年02月01日
    瀏覽(85)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包