jQuery動(dòng)畫效果實(shí)現(xiàn)圖片無縫連續(xù)滾動(dòng)
本文實(shí)例介紹了jQuery動(dòng)畫效果實(shí)現(xiàn)圖片無縫連續(xù)滾動(dòng)的詳細(xì)代碼,分享給大家供大家參考,具體內(nèi)容如下
效果圖如下:
一、HTML代碼
<body> <div id="container"> <ul id="content"> <li><a href="#"><img src="images/0.png"/></a></li> <li><a href="#"><img src="images/1.png"/></a></li> <li><a href="#"><img src="images/tewu.png"/></a></li> <li><a href="#"><img src="images/2.png"/></a></li> <li><a href="#"><img src="images/tewu.png"/></a></li> <li><a href="#"><img src="images/3.png"/></a></li> <li><a href="#"><img src="images/4.png"/></a></li> </ul> </div> </body>
1. id為container的div是最外層的包裝,用來控制滾動(dòng)區(qū)域顯示的具體位置。
2. id為content的ul用來包裝那些需要滾動(dòng)的圖片。
3. li元素就是用來包裝具體的圖片。
二、CSS代碼
*{margin: 0; padding: 0;} img{ border:0; } #container{ width:800px; height: 130px; <span style="white-space:pre"> </span>margin:100px auto; border:3px solid blue; overflow: hidden; position: relative; } #container ul{ list-style: none; width:10000px; position: absolute; } #container ul li{ float:left; margin-right: 20px; }
這里說明一點(diǎn),ul 的 width為什么設(shè)置為10000px。 因?yàn)闊o縫連續(xù)滾動(dòng)的實(shí)現(xiàn)原理,就是在現(xiàn)有顯示圖片的基礎(chǔ)上克隆一份,并且拼接在顯示圖片的后面,但由于顯示圖片的總寬度是未知的,所以為了安全性,最好將ul的width寬度設(shè)置比較大些。
三、無縫連續(xù)滾動(dòng)原理分析
四、JQuery實(shí)現(xiàn)代碼
<script type="text/javascript"> /* window.onload比 $(function(){}) 加載的更晚一些,這樣那些寬度的計(jì)算在Chrome中就可以準(zhǔn)確計(jì)算了*/ window.onload = function(){ /*計(jì)算一個(gè)segment的寬度*/ var segmentWidth = 0; $("#container #content li").each(function(){ segmentWidth+= $(this).outerWidth(true); }); $("#container #content li").clone().appendTo($("#container #content")); run(6000); function run(interval){ $("#container #content").animate({"left":-segmentWidth}, interval,"linear",function(){ $("#container #content").css("left",0); run(6000); }); } $("#container").mouseenter(function(){ $("#container #content").stop(); }).mouseleave(function(){ var passedCourse = -parseInt($("#container #content").css("left")); var time = 6000 * (1 - passedCourse/segmentWidth); run(time); }); }; </script>
1. 先通過each遍歷所有的li元素,計(jì)算出它們寬度之和。
2. 拷貝一份圖片到現(xiàn)有圖片的后面,原理分析圖的"圖一"所示。
3. 設(shè)置6秒鐘滾動(dòng)完界面上面現(xiàn)有的圖片,滾動(dòng)完畢后,通過設(shè)置content的left值,將其整體拉回到初始狀態(tài),原理分析圖的"圖二"所示。然后遞歸調(diào)用run方法,完成無限滾動(dòng)。
4. 當(dāng)鼠標(biāo)經(jīng)過滾動(dòng)區(qū)域的時(shí)候,動(dòng)畫立刻停止; 當(dāng)鼠標(biāo)離開的時(shí)候,動(dòng)畫繼續(xù)執(zhí)行。
關(guān)于動(dòng)畫繼續(xù)執(zhí)行的代碼,如下圖分析:
以上就是jQuery實(shí)現(xiàn)圖片無縫連續(xù)滾動(dòng)的代碼,希望對大家的學(xué)習(xí)有所幫助。
- Jquery原生態(tài)實(shí)現(xiàn)表格header頭隨滾動(dòng)條滾動(dòng)而滾動(dòng)
- jquery實(shí)現(xiàn)簡單的無縫滾動(dòng)
- jquery無縫向上滾動(dòng)實(shí)現(xiàn)代碼
- 基于jQuery的圖片左右無縫滾動(dòng)插件
- jQuery插件scroll實(shí)現(xiàn)無縫滾動(dòng)效果
- jcarousellite.js 基于Jquery的圖片無縫滾動(dòng)插件
- jquery 文本上下無縫滾動(dòng),鼠標(biāo)放上去就停止 小例子
- jquery xMarquee實(shí)現(xiàn)文字水平無縫滾動(dòng)效果
- 基于jQuery的上下無縫滾動(dòng)應(yīng)用(單行或多行)
- jquery實(shí)現(xiàn)表格無縫滾動(dòng)
相關(guān)文章
10個(gè)基于jQuery或JavaScript的WYSIWYG 編輯器整理
10驚人的自由豐富的文本編輯器,將提升您的網(wǎng)站的功能。我已經(jīng)收集了5 jQuery和5個(gè)非jQuery實(shí)時(shí)評價(jià)附帶簡單的功能,具有辦公一樣的功能。2010-05-05基于jquery實(shí)現(xiàn)動(dòng)態(tài)豎向柱狀條特效
很多數(shù)據(jù)統(tǒng)計(jì)效果中,柱狀條方式的算是比較常見的一種,形象直觀,下面就是一段能夠?qū)崿F(xiàn)此功能的代碼實(shí)例,并且具有一定的動(dòng)態(tài)效果,感興趣的朋友可以參考一下2016-02-02Jquery Ajax學(xué)習(xí)實(shí)例3 向WebService發(fā)出請求,調(diào)用方法返回?cái)?shù)據(jù)
Jquery Ajax學(xué)習(xí)實(shí)例3 向WebService發(fā)出請求,調(diào)用方法返回?cái)?shù)據(jù)2010-03-03HTML+jQuery實(shí)現(xiàn)簡單的登錄頁面
這篇文章主要介紹了用三種方法實(shí)現(xiàn)簡單的登錄頁面的制作:純HTML、HTML+jQuery(form data)格式、HTML+jQuery(json)格式。感興趣的同學(xué)可以跟隨小編一起學(xué)習(xí)一下2021-12-12jQuery控制DIV層實(shí)現(xiàn)由大到小,由遠(yuǎn)及近動(dòng)畫變化效果
這篇文章主要介紹了jQuery控制DIV層實(shí)現(xiàn)由大到小,由遠(yuǎn)及近動(dòng)畫變化效果,涉及jQuery基于animate方法操作頁面元素實(shí)現(xiàn)動(dòng)畫漸變效果的相關(guān)技巧,需要的朋友可以參考下2015-10-10jquery實(shí)現(xiàn)在光標(biāo)位置插入內(nèi)容的方法
這篇文章主要介紹了jquery實(shí)現(xiàn)在光標(biāo)位置插入內(nèi)容的方法,涉及jQuery功能的擴(kuò)展技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02