如何實現(xiàn)一個簡單的輪播效果

GitHub預覽:https://luckzhu.github.io/slide-seam/
代碼:https://github.com/luckzhu/slide-seam

實現(xiàn)思路
多張圖片并排形成一張長圖
顯示窗口只有一張圖片大小
點擊后圖片位置變化贰健,達到輪播效果

初步顯示
<img>標簽引入多張圖片辟癌,注意寬高要一致
<div>做顯示窗口逾雄,overflow: hidden; 隱藏其它未顯示的圖片
html代碼:

<div class="slide">
        <div class="window">
            <div class="images">
                <img src="./images/1.jpg" alt="圖片" width="400">
                <img src="./images/2.jpg" alt="圖片" width="400">
                <img src="./images/3.jpg" alt="圖片" width="400">
                <img src="./images/4.jpg" alt="圖片" width="400">
            </div>
            <ul class="buttons">
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
            </ul>
        </div>
    </div>

點擊圖片移動
用jQuery,$(selector).on("click",function(){})鼠標點擊后執(zhí)行圖片切換

如何確認是第幾張?
$(x.currentTarget).index()可得到點擊元素在siblings中排第幾

圖片如何移動耘子?
假設(shè)圖片寬度位300px,比如點擊第一張,translateX就變?yōu)?佛猛,點擊第二張translateX就變?yōu)?300px,那么點擊第n張即變?yōu)?n* -300坠狡,也就是index * -300

如何讓他自動輪播继找?
讓他自動觸發(fā)“click”事件
setInterval(function(){ }, 3000),寫成箭頭函數(shù)即是:setInterval(() =>{ }, 3000),每隔3秒執(zhí)行一次逃沿。Tips: setInterval()方法會不停地調(diào)用函數(shù)婴渡,直到 clearInterval() 被調(diào)用或窗口被關(guān)閉。如果只想調(diào)用一次凯亮,可以用setTimeout()方法

自動選擇圖片边臼,觸發(fā)click
$().eq(index).trigger('click'),這里的 index 應改為n=0假消,n+=1柠并, n % images.length。即從1,2臼予,3鸣戴,4逐個開始。

為什么不直接用1粘拾,2窄锅,3,4缰雇?
為了不寫死入偷,為了無論多少張圖片,代碼都不用改械哟。

若當前用戶點擊了第3張疏之,輪播也應從第3張開始自動,而不是第一張開始戒良?
所以這里當用戶手動點擊過后体捏,應當將此時的index賦值給n

當用戶鼠標移上去后,自動輪播應該相應停止
$(.windows).on('mouseenter',function(){ window.clearInterval(timerId)} )
這里的 .windows 是一個css選擇器糯崎,是指整個輪播對象几缭,timerId 即為之前setInterval()取得計時器名字

同樣的,當用戶鼠標移出來之后沃呢,自動輪播也應相應開始
$(.windows).on('mouseleave',function(){ timerId = setInterval(function(){ }, 3000) )

其他效果實現(xiàn)
當輪播到第幾張時年栓,第幾張的標簽就變色,即高亮薄霜。
.addClass('blue')給當前的標簽增加 class
.siblings('.red').removeClass('blue')給當前標簽的兄弟移除class

代碼優(yōu)化
重復的地方 封裝函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末某抓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子惰瓜,更是在濱河造成了極大的恐慌否副,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件崎坊,死亡現(xiàn)場離奇詭異备禀,居然都是意外死亡,警方通過查閱死者的電腦和手機奈揍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門曲尸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人男翰,你說我怎么就攤上這事另患。” “怎么了蛾绎?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵昆箕,是天一觀的道長鸦列。 經(jīng)常有香客問我,道長为严,這世上最難降的妖魔是什么敛熬? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮第股,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘话原。我一直安慰自己夕吻,他們只是感情好,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布繁仁。 她就那樣靜靜地躺著涉馅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪黄虱。 梳的紋絲不亂的頭發(fā)上稚矿,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天,我揣著相機與錄音捻浦,去河邊找鬼晤揣。 笑死,一個胖子當著我的面吹牛朱灿,可吹牛的內(nèi)容都是我干的昧识。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼盗扒,長吁一口氣:“原來是場噩夢啊……” “哼跪楞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起侣灶,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤甸祭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后褥影,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體池户,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年伪阶,在試婚紗的時候發(fā)現(xiàn)自己被綠了煞檩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡栅贴,死狀恐怖斟湃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情檐薯,我是刑警寧澤凝赛,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布注暗,位于F島的核電站,受9級特大地震影響墓猎,放射性物質(zhì)發(fā)生泄漏捆昏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一毙沾、第九天 我趴在偏房一處隱蔽的房頂上張望骗卜。 院中可真熱鬧,春花似錦左胞、人聲如沸寇仓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遍烦。三九已至,卻和暖如春躺枕,著一層夾襖步出監(jiān)牢的瞬間服猪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工拐云, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留罢猪,地道東北人。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓慨丐,卻偏偏與公主長得像坡脐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子房揭,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359