進階17 輪播的實現(xiàn)

1: 輪播的實現(xiàn)原理是怎樣的?如果讓你來實現(xiàn)并闲,你會抽象出哪些函數(shù)(or接口)供使用玩裙?(比如 play())

一種左右滾動輪播實現(xiàn)原理:

  1. 最外層可視窗口設置與圖片寬高相仿,并使用overflow: hidden, 內(nèi)部容器高度與圖片高度相仿晰绎,寬度為所有要輪播圖片寬度之和,并且絕對定位括丁,以便通過left值控制左右滾動荞下。
  2. 如果要左右無限滾動,還需要克隆last img放在容器內(nèi)最前面史飞,克隆first img放在容器內(nèi)最后面尖昏。這樣當輪播到第一張還想pre,或者最后一張還想next時构资,先展示克隆的img抽诉,緊接著通過修改css left值立刻替換為真正的尾張或首張img,由于沒有使用動畫吐绵,并且是一樣的圖片掸鹅,所以肉眼上看不出來變化,但實際上已經(jīng)從臨時展示的克隆img拦赠,變?yōu)樵璂OM中的img。

一種漸變輪播實現(xiàn)原理:

  1. 與上面相仿葵姥,但要更簡單荷鼠,內(nèi)部img不需要左右水平排列,只需要全部絕對定位榔幸,疊加在一起允乐,然后全部 display: none
  2. js中需要在加載后矮嫉,就立即執(zhí)行一次輪播函數(shù),來淡入首張img牍疏,接下來受按鈕控制蠢笋,通過淡出當前圖片,淡入預期圖片鳞陨,來達到漸變輪播昨寞。

關(guān)于抽象函數(shù)or接口:

首先抽象出函數(shù)or接口,是為了讓代碼更有條理厦滤,每個函數(shù)控制在20行內(nèi)援岩,降低單個函數(shù)的復雜度,提高代碼復用性掏导。 由不同的函數(shù)部件享怀,協(xié)同完成。降低了bug排查難度和耦合性趟咆。 同時也方便后續(xù)維護添瓷,修改,或者新增功能值纱。 這個就是抽象出函數(shù)or接口的意義鳞贷。

關(guān)于輪播,可以抽象出的接口比如:

  • playNext() 切換到下一張
  • playPre() 切換到上一張
  • setBullet() 設置狀態(tài)指示符號
  • autoPlay() 自動輪播
  • stopAuto() 停止自動輪播
  • ......

2: 實現(xiàn)左右滾動無限循環(huán)輪播效果

預覽地址

3:實現(xiàn)一個漸變輪播效果

預覽地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末计雌,一起剝皮案震驚了整個濱河市悄晃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凿滤,老刑警劉巖妈橄,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異翁脆,居然都是意外死亡眷蚓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門反番,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沙热,“玉大人,你說我怎么就攤上這事罢缸「菝常” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵枫疆,是天一觀的道長爵川。 經(jīng)常有香客問我,道長息楔,這世上最難降的妖魔是什么寝贡? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任扒披,我火速辦了婚禮,結(jié)果婚禮上圃泡,老公的妹妹穿的比我還像新娘碟案。我一直安慰自己,他們只是感情好颇蜡,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布价说。 她就那樣靜靜地躺著,像睡著了一般澡匪。 火紅的嫁衣襯著肌膚如雪熔任。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天唁情,我揣著相機與錄音疑苔,去河邊找鬼。 笑死甸鸟,一個胖子當著我的面吹牛惦费,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抢韭,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼薪贫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刻恭?” 一聲冷哼從身側(cè)響起瞧省,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鳍贾,沒想到半個月后鞍匾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡骑科,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年橡淑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咆爽。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡梁棠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出斗埂,到底是詐尸還是另有隱情符糊,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布呛凶,位于F島的核電站濒蒋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沪伙,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望县好。 院中可真熱鬧围橡,春花似錦、人聲如沸缕贡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晾咪。三九已至收擦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谍倦,已是汗流浹背塞赂。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留昼蛀,地道東北人宴猾。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像叼旋,于是被迫代替她去往敵國和親仇哆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 題目1: 輪播的實現(xiàn)原理是怎樣的夫植?如果讓你來實現(xiàn)讹剔,你會抽象出哪些函數(shù)(or接口)供使用?(比如 play())Pa...
    饑人谷_桶飯閱讀 245評論 0 0
  • 題目1: 輪播的實現(xiàn)原理是怎樣的详民?如果讓你來實現(xiàn)延欠,你會抽象出哪些函數(shù)(or接口)供使用?(比如 play()) 左...
    cctosuper閱讀 249評論 0 0
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫阐斜、插件衫冻、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,105評論 4 62
  • 這是交上畢業(yè)論文二稿的第二天隅俘,仍然是沒有緩過勁來,像是幾天之內(nèi)枯死了一片腦細胞笤喳,吃了再多飯也跟不上身體的虧空为居。...
    小芮兒閱讀 517評論 4 2
  • 雖然在家做飯很衛(wèi)生省錢,但是有沒有覺得兩個人炒一個菜太單調(diào)杀狡,做兩個菜又吃不完蒙畴? 不用擔心,今天教你們用最少的材料,...
    經(jīng)融南安閱讀 318評論 0 0