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