国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 js教程 Vue封裝Swiper實現(xiàn)圖片輪播效果的代碼分享

Vue封裝Swiper實現(xiàn)圖片輪播效果的代碼分享

Feb 07, 2018 am 09:36 AM
swiper 圖片 效果

本文主要和大家分享Vue封裝Swiper實現(xiàn)圖片輪播效果的代碼,圖片輪播是前端中經常需要實現(xiàn)的一個功能。最近學習Vue.js,就針對Swiper進行封裝,實現(xiàn)一個簡單的圖片輪播組件。

一、Swiper

在實現(xiàn)封裝之前,先介紹一下Swiper。

  • Swiper是純Javascript打造的滑動特效插件,面向手機、平板電腦等移動終端。

  • Swiper能實現(xiàn)觸屏焦點圖、觸屏Tab切換、觸屏多圖切換等常用效果。

  • Swiper開源、免費、穩(wěn)定、使用簡單、功能強大,是架構移動終端網站的重要選擇。

Swiper的應用場景廣泛,實現(xiàn)效果很好,下面?zhèn)€這實際案例就是Swiper的典型應用場景。

?

Swiper的具體使用教程及詳細API,參考 Swiper中文網
。

二、Vue組件

Vue組件設計初衷就是要配合使用的,提高維護性和復用性。而圖片輪播正適合使用組件來完成,因此在介紹具體的實現(xiàn)之前,先介紹下關于Vue組件及組件通信。

Vue組件中最常見的就是形成父子組件的關系:組件 A 在它的模板中使用了組件 B。

它們之間必然需要相互通信:父組件可能要給子組件下發(fā)數(shù)據(jù),子組件則可能要將它內部發(fā)生的事情告知父組件。然而,通過一個良好定義的接口來盡可能將父子組件解耦也是很重要的。這保證了每個組件的代碼可以在相對隔離的環(huán)境中書寫和理解,從而提高了其可維護性和復用性。

在 Vue 中,父子組件的關系可以總結為 prop 向下傳遞,事件向上傳遞。父組件通過 prop 給子組件下發(fā)數(shù)據(jù),子組件通過事件給父組件發(fā)送消息。

?

三、封裝實現(xiàn)

1.引入Swiper

首先,需要安裝Swiper。

npm?install?--save?swiper

然后,要引用兩個文件。

import?Swiper?from?"swiper";
import?"swiper/dist/css/swiper.min.css";

2.HTML代碼

在模板中設置輪播圖的html布局。

<template>
?<p class="swiper-container" :class="swipeid">
???<p class="swiper-wrapper">
?????<!-- 存放具體的輪播內容 -->
?????<slot name ="swiper-con"></slot>
???</p>
???<!-- 分頁器 -->
???<p :class="{&#39;swiper-pagination&#39;:pagination}"></p>
?</p>
</template>

其中使用具名插槽,提高解耦,使得在父組件使用時,根據(jù)不同情況,設置不同的輪播內容。

另外需要設置分頁器,即圖片輪播中的頁面指示器,常見的如小圓點,或者數(shù)字指示器。

3.初始化Swiper

既然是對Swiper進行封裝實現(xiàn)輪播圖,前面也已經安裝了Swiper,那么現(xiàn)在就需要初始化使用。

在初始化之前,根據(jù)Swiper用法的了解,先確定輪播組件需要的屬性信息,然后通過父組件傳遞給封裝的Swiper組件。

這時候就需要用到props。

props:?{
??swipeid:?{
???type:?String,
???default:?""
??},
??effect:?{
???type:?String,
???default:?"slide"
??},
??loop:?{
???type:?Boolean,
???default:?false
??},
??direction:?{
???type:?String,
???default:?"horizontal"
??},
??pagination:?{
???type:?Boolean,
???default:?true
??},
??paginationType:?{
???type:?String,
???default:?"bullets"
??},
??autoPlay:?{
???type:?Number,
???default:?3000
??}
?}

下面逐一解釋每個屬性的含義。

屬性 含義
swiped 輪播容器class屬性的類名。
effect 圖片的 切換效果,默認為"slide",還可設置為"fade", "cube", "coverflow","flip",詳情見effect。
loop 設置為true 則開啟loop模式。loop模式:會在原本圖片前后復制若干個圖片并在合適的時候切換,讓Swiper看起來是循環(huán)的,詳情見loop。
direction 圖片的滑動方向,可設置水平(horizontal)或垂直(vertical),詳情見direction。
pagination 使用分頁導航,詳情見pagination。
paginationType 分頁器樣式類型,可設置為"bullets", "fraction", "progressbar", "custom",詳情見type。
autoPlay 設置為true啟動自動切換,并使用默認的切換設置,詳情見autoplay。

了解了上面每個屬性的含義,下面就可以初始化Swiper,并設置具體的屬性。

初始化Swiper時,需要傳入兩個參數(shù)。

  • 輪播容器的類名

  • 代表圖片輪播組件詳細功能的對象

var?that?=?this;
??this.dom?=?new?Swiper("."?+?that.swipeid,?{
???//循環(huán)
???loop:?that.loop,
???//分頁器
???pagination:?{?
????el:?".swiper-pagination",
????bulletClass?:?'swiper-pagination-bullet',
??????},
???//分頁類型
???paginationType:?that.paginationType,
???//自動播放
???autoPlay:?that.autoPlay,
???//方向
???direction:?that.direction,
???//特效
???effect:?that.effect,
???//用戶操作swiper之后,不禁止autoplay
???disableOnInteraction:?false,
???//修改swiper自己或子元素時,自動初始化swiper
???observer:?true,
???//修改swiper的父元素時,自動初始化swiper
???observeParents:?true
??});
?}

四、自定義輪播效果

經過上面的步驟,輪播器就封裝好了。我們可以自定義實現(xiàn)自己想要的輪播器效果。下面以知乎的API為例,實現(xiàn)圖片輪播。

1.HTML代碼

<m-swipe swipeid="swipe" ref="swiper" :autoPlay="3000" effect="slide">
???<p v-for="top in tops" :key="top.id" class="swiper-slide" slot="swiper-con" >
????<img :src="top.image">
????<h3>{{top.title}}</h3>
???</p>
</m-swipe>

首先要引用注冊組件,這里就不詳細寫出。

其中 m-swipe 就是前面實現(xiàn)的圖片輪播組件,而其中的子組件就是通過具名插槽插入的輪播內容。

2.CSS代碼

.swiper-container?{
??width:?100%;
?}
?.swiper-slide?{
??height:?8rem;
??overflow:?hidden;
??position:?relative;
?}
.swiper-slide?{
?p?{
??top:?0;
??left:?0;
??width:?100%;
??height:?100%;
??opacity:?0.4;
??position:?absolute;
??background-color:?@blue;
?}
?img?{
??top:?50%;
??position:?relative;
??transform:?translate(0,?-50%);
?}
?h3?{
??width:?70%;
??color:?#fff;
??margin:?0;
??font-size:?0.5rem;
??line-height:?1rem;
??right:?5%;
??bottom:?2.6rem;
??text-align:?right;
??position:?absolute;
??text-shadow:?1px?1px?10px?rgba(0,?0,?0,?0.5);
??&:before?{
???content:?"";
???width:?3rem;
???bottom:?-0.6rem;
???right:?0;
???display:?block;
???position:?absolute;
???border:?2px?solid?@yellow;
??}
?}
}
.swiper-pagination-bullet-active?{
?background:?#fff;
}
.swiper-container-horizontal?>?.swiper-pagination-bullets?{
??bottom:?1rem;
??width:?95%;
??text-align:?right;
?}

其中 swiper-pagination-bullet-active 代表分頁器中當前指示的小圓點的類名。 .swiper-pagination-bullets 代表分頁器的類名,詳情見pagination分頁器內元素的類名 。

關于網絡請求數(shù)據(jù)展示的代碼就不貼了,下面有源碼地址。

3.效果

?

這只是一個簡單的封裝效果,想要實現(xiàn)更多的效果,可以通過Swiper中提供的更多功能來實現(xiàn)。

相關推薦:

圖片輪播組件gallery slider使用方法詳解

jQuery實現(xiàn)圓點圖片輪播實例分享

Bootstrap圖片輪播效果實現(xiàn)方法

以上是Vue封裝Swiper實現(xiàn)圖片輪播效果的代碼分享的詳細內容。更多信息請關注PHP中文網其他相關文章!

本站聲明
本文內容由網友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

用戶遭遇罕見故障 三星 Watch 智能手表突現(xiàn)白屏問題 用戶遭遇罕見故障 三星 Watch 智能手表突現(xiàn)白屏問題 Apr 03, 2024 am 08:13 AM

你可能遇到過智能手機屏幕出現(xiàn)綠色線條的問題,即使沒見過,也一定在網絡上看到過相關圖片。那么,智能手表屏幕變白的情況你遇見過嗎?4月2日,CNMO從外媒了解到,一名Reddit用戶在社交平臺上分享了一張圖片,展示了三星Watch系列智能手表屏幕變白的情況。該用戶寫道:"我離開時正在充電,回來時就這樣了,我嘗試重啟,但重啟過程中屏幕還是這樣。"三星Watch智能手表屏幕變白這位Reddit用戶并未指明這款智能手表的具體型號。不過,從圖片上看,應該是三星Watch5。此前,另一位Reddit用戶也報告

小紅書發(fā)布自動保存圖片怎么解決?發(fā)布自動保存圖片在哪里? 小紅書發(fā)布自動保存圖片怎么解決?發(fā)布自動保存圖片在哪里? Mar 22, 2024 am 08:06 AM

隨著社交媒體的不斷發(fā)展,小紅書已經成為越來越多年輕人分享生活、發(fā)現(xiàn)美好事物的平臺。許多用戶在發(fā)布圖片時遇到了自動保存的問題,這讓他們感到十分困擾。那么,如何解決這個問題呢?一、小紅書發(fā)布自動保存圖片怎么解決?1.清除緩存首先,我們可以嘗試清除小紅書的緩存數(shù)據(jù)。步驟如下:(1)打開小紅書,點擊右下角的“我的”按鈕;(2)在個人中心頁面,找到“設置”并點擊;(3)向下滾動,找到“清除緩存”選項,點擊確認。清除緩存后,重新進入小紅書,嘗試發(fā)布圖片看是否解決了自動保存的問題。2.更新小紅書版本確保你的小

抖音評論里怎么發(fā)圖片?評論區(qū)圖片入口在哪里? 抖音評論里怎么發(fā)圖片?評論區(qū)圖片入口在哪里? Mar 21, 2024 pm 09:12 PM

隨著抖音短視頻的火爆,用戶們在評論區(qū)互動變得更加豐富多彩。有些用戶希望在評論中分享圖片,以更好地表達自己的觀點或情感。那么,抖音評論里怎么發(fā)圖片呢?本文將為你詳細解答這個問題,并為你提供一些相關的技巧和注意事項。一、抖音評論里怎么發(fā)圖片?1.打開抖音:首先,你需要打開抖音APP,并登錄你的賬號。2.找到評論區(qū):在瀏覽或發(fā)布短視頻時,找到想要評論的地方,點擊“評論”按鈕。3.輸入評論內容:在評論區(qū)輸入你的評論內容。4.選擇發(fā)送圖片:在輸入評論內容的界面,你會看到一個“圖片”按鈕或者“+”號按鈕,點

ppt怎么讓圖片一張一張出來 ppt怎么讓圖片一張一張出來 Mar 25, 2024 pm 04:00 PM

在PowerPoint中,讓圖片逐一顯示是一種常用的技巧,可以通過設置動畫效果來實現(xiàn)。本指南詳細介紹了實現(xiàn)這一技巧的步驟,包括基本設置、圖片插入、添加動畫、調整動畫順序和時間。此外,還提供了高級設置和調整,例如使用觸發(fā)器、調整動畫速度和順序,以及預覽動畫效果。通過遵循這些步驟和技巧,用戶可以輕松地在PowerPoint中設置圖片逐一出現(xiàn),從而提升演示文稿的視覺效果并吸引觀眾的注意力。

在 iPhone 上使圖片更清晰的 6 種方法 在 iPhone 上使圖片更清晰的 6 種方法 Mar 04, 2024 pm 06:25 PM

Apple最近的iPhone可以通過清晰的細節(jié)、飽和度和亮度來捕捉回憶。但有時,您可能會遇到一些問題,這些問題可能會導致圖像看起來不那么清晰。盡管iPhone相機上的自動對焦已經取得了長足的進步,可以讓您快速拍照,但相機在某些情況下可能會錯誤地對焦錯誤的拍攝對象,從而使照片在不需要的區(qū)域更加模糊。如果iPhone上的照片看起來失焦或總體上缺乏清晰度,以下帖子應該可以幫助您使它們更清晰。如何在iPhone上使圖片更清晰[6種方法]您可以嘗試使用本機的“照片”應用來清理照片。如果您需要更多功能和選項

福昕PDF閱讀器如何將pdf文檔轉成jpg圖片-福昕PDF閱讀器將pdf文檔轉成jpg圖片的方法 福昕PDF閱讀器如何將pdf文檔轉成jpg圖片-福昕PDF閱讀器將pdf文檔轉成jpg圖片的方法 Mar 04, 2024 pm 05:49 PM

你們是不是也在使用福昕PDF閱讀器軟件呢?那么你們知道福昕PDF閱讀器如何將pdf文檔轉成jpg圖片嗎?下面這篇文章就為大伙帶來了福昕PDF閱讀器將pdf文檔轉成jpg圖片的方法,感興趣的小伙伴們快來下文看看吧。先啟動福昕PDF閱讀器,接著在頂部工具欄找到“特色功能”,然后選擇“PDF轉其他”功能。在接下來,打開一個名為“福昕pdf在線轉換”的網頁。在頁面上方右側點擊“登錄”按鈕進行登錄,然后打開“PDF轉圖片”功能。之后點擊上傳按鈕并將想要轉換成圖片的pdf文件添加進來,添加完畢后點擊“開始轉

九州風神阿薩辛 4S 散熱器評測 風冷'刺客大師”范兒 九州風神阿薩辛 4S 散熱器評測 風冷'刺客大師”范兒 Mar 28, 2024 am 11:11 AM

說起阿薩辛ASSASSIN,相信玩家們一定會想到《刺客信條》中的各位刺客大師,不僅身手了得,而且"躬身于黑暗、服務于光明"的信條,與國內知名機箱/電源/散熱器品牌九州風神(DeepCool)旗下的阿薩辛ASSASSIN系列旗艦級風冷散熱器不謀而合。最近,該系列的最新產品阿薩辛ASSASSIN4S重磅上線,"西裝刺客,再進階"為高級玩家?guī)砣碌娘L冷散熱體驗。外觀一覽細節(jié)滿滿阿薩辛4S散熱器采用雙塔構造+單風扇內嵌設計,外面包覆立方體造型的整流罩,整體感極強,并提供白、黑兩種配色可選,滿足不同色系

網頁圖片加載不出來怎么辦?6種解決辦法 網頁圖片加載不出來怎么辦?6種解決辦法 Mar 15, 2024 am 10:30 AM

  有網友發(fā)現(xiàn)打開瀏覽器網頁,網頁上的圖片遲遲加載不出來,是怎么回事?檢查過網絡是正常的,那是哪里出現(xiàn)了問題呢?下面小編就給大家介紹一下網頁圖片加載不出來的六種解決方法。  網頁圖片加載不出來:  1、網速問題  網頁顯示不出圖片有可能是因為電腦的網速比較慢,電腦中開啟的軟件比較多,  而我們訪問的圖片比較大,這就可能因為加載超時,導致圖片顯示不出來,  可以將比較占網速的軟件將關掉,可以去任務管理器查看一下?! ?、訪問人數(shù)過多  網頁顯示不出圖片還有可能是因為我們訪問的網頁,在同時間段訪問的

See all articles