javascript 另一種圖片滾動(dòng)切換效果思路
把圖片們用ul之類的包起來(lái),并設(shè)置float。然后設(shè)置這個(gè)ul本身為absolute定位,其父標(biāo)簽用relative定位。通過(guò)設(shè)置ul的left或top值,實(shí)現(xiàn)圖片隊(duì)列的滾動(dòng)效果
特點(diǎn):
只操作一個(gè)html元素(即上文的ul),對(duì)系統(tǒng)開(kāi)銷??;滾到頭會(huì)回滾;從大序號(hào)滾動(dòng)到小序號(hào)也會(huì)回滾;從最后序號(hào)滾動(dòng)到第一個(gè),會(huì)“咻”的一下把所有中間的圖片也路過(guò)一次。
另一種思路就是我在XScroll.js里實(shí)現(xiàn)的思路,所有圖片用絕對(duì)定位。具體看那篇文章吧。
XScroll.js完成后,我始終覺(jué)得他的系統(tǒng)消耗是個(gè)問(wèn)題,因?yàn)樗麑?shí)現(xiàn)一個(gè)圖片切換基本上都是同時(shí)操作兩張圖片。所以我想寫一個(gè)精簡(jiǎn)版的,但又不想要我文首說(shuō)那種最普通的。
后來(lái)我無(wú)意在土豆女性頻道發(fā)現(xiàn)了另一種圖片滾動(dòng)切換的實(shí)現(xiàn)思路。
他的特點(diǎn)是:
無(wú)論從哪個(gè)序號(hào)跳到哪個(gè)序號(hào),都只滾動(dòng)一個(gè)步長(zhǎng)。比如從1到2,或從1跳到到3,都只滾動(dòng)一個(gè)步長(zhǎng)。即使中間有其他圖片,也不會(huì)出現(xiàn);當(dāng)然,滾到頭也會(huì)回滾,但回滾也是只有一個(gè)步長(zhǎng)。
這個(gè)效果看起來(lái)很奇妙,我研究了一下他的html,發(fā)現(xiàn)實(shí)現(xiàn)方式比我的XScroll.js要簡(jiǎn)便的多。
<ul id="idSlider2">
<li style=""><a ><img src="../s1.jpg"/></a></li>
<li><a ><img src="../s2.jpg"/></a></li>
<li><a ><img src="../s3.jpg"/></a></li>
<li><a ><img src="../s4.jpg"/></a></li>
</ul>
html結(jié)構(gòu),很普通;前面的定位跟最普遍的那個(gè)思路一樣,都是所有圖片均設(shè)置float:left。但JS里面有蹊蹺:只設(shè)置當(dāng)前圖片為顯示,其余圖片隱藏,當(dāng)要滾動(dòng)時(shí),顯示出下一張圖片,并判斷下一張圖片是在當(dāng)前圖片前面還是后面:在后面就往左滾,在前面就回滾。
由于所有圖片都設(shè)置了float,所以當(dāng)任意兩張圖片顯示出來(lái)的時(shí)候,他們會(huì)因?yàn)閒loat的原因緊緊靠在一起,這樣,就不用額外擔(dān)心圖片的定位問(wèn)題了。
而且,這樣一來(lái),也只用操作圖片容器(即那個(gè)ul),而不用操作單張圖片,節(jié)省系統(tǒng)資源。
我覺(jué)得這種思路很妙,簡(jiǎn)單大氣又節(jié)約,所以我寫了一個(gè)XScroll2.js,來(lái)記錄這個(gè)效果,感覺(jué)還很不錯(cuò)哈。
有興趣的朋友可以看XScroll2.js的示例頁(yè),仿的是拍拍網(wǎng)首頁(yè)的圖片切換——因?yàn)樗男Ч彩巧厦嬲f(shuō)的這種。不過(guò)不知道能堅(jiān)持看到文末的同學(xué)有多少呢。。。
- js實(shí)現(xiàn)無(wú)縫滾動(dòng)雙圖切換效果
- JS實(shí)現(xiàn)標(biāo)簽滾動(dòng)切換效果
- js實(shí)現(xiàn)的鼠標(biāo)滾輪滾動(dòng)切換頁(yè)面效果(類似360默認(rèn)頁(yè)面滾動(dòng)切換效果)
- js+div實(shí)現(xiàn)文字滾動(dòng)和圖片切換效果代碼
- js控制多圖左右滾動(dòng)切換效果代碼分享
- 簡(jiǎn)單實(shí)現(xiàn)js頁(yè)面切換功能
- js實(shí)現(xiàn)單一html頁(yè)面兩套css切換代碼
- echarts同一頁(yè)面中四個(gè)圖表切換的js數(shù)據(jù)交互方法示例
- velocity.js實(shí)現(xiàn)頁(yè)面滾動(dòng)切換效果
相關(guān)文章
由 element.appendChild(newNode) ,談開(kāi)去
由 element.appendChild(newNode) ,談開(kāi)去...2006-11-11layui select動(dòng)態(tài)添加option的實(shí)例
下面小編就為大家分享一篇layui select動(dòng)態(tài)添加option的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03js實(shí)現(xiàn)各種復(fù)制到剪貼板的方法(分享)
下面小編就為大家?guī)?lái)一篇js實(shí)現(xiàn)各種復(fù)制到剪貼板的方法(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10前端傳遞參數(shù)時(shí)form-data和json的區(qū)別詳解
前端可以通FormData對(duì)象實(shí)現(xiàn)表單形式提交數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于前端傳遞參數(shù)時(shí)form-data和json區(qū)別的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11Javascript調(diào)試腳本的經(jīng)驗(yàn)之談
隨著用JavaScript編程的深入,你會(huì)開(kāi)始理解那些JavaScript給出的不透明錯(cuò)誤信息。一旦你理解了你常犯的一般性錯(cuò)誤,你就會(huì)很快知道怎樣避免它們,這樣你寫的代碼中的錯(cuò)誤將越來(lái)越少。2008-10-10判斷滾動(dòng)條滑到底部觸發(fā)事件(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇判斷滾動(dòng)條滑到底部觸發(fā)事件的實(shí)例講解。具有很好的參考價(jià)值。一起跟隨小編過(guò)來(lái)看看吧,希望對(duì)大家有所幫助2017-11-11JavaScript實(shí)現(xiàn)點(diǎn)擊改變圖片形狀(transform應(yīng)用)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)點(diǎn)擊改變圖片形狀,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Javascript實(shí)現(xiàn)秒表計(jì)時(shí)游戲
這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)秒表計(jì)時(shí)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05