成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jQuery動畫效果實現圖片無縫連續滾動
全站頭部文字 我要出現在這里
jQuery動畫效果實現圖片無縫連續滾動 649 2024-03-14   

本文實例介紹了jQuery動畫效果實現圖片無縫連續滾動的詳細代碼,分享給大家供大家參考,具體內容如下

效果圖如下:

查看圖片

一、HTML代碼

<body> 
  <div id="container"> 
    <ul id="content"> 
      <li><a ><img src="http://www.gimoo.net/t/1904/images/0.png"/></a></li> 
      <li><a ><img src="http://www.gimoo.net/t/1904/images/1.png"/></a></li> 
      <li><a ><img src="http://www.gimoo.net/t/1904/images/tewu.png"/></a></li> 
      <li><a ><img src="http://www.gimoo.net/t/1904/images/2.png"/></a></li> 
      <li><a ><img src="http://www.gimoo.net/t/1904/images/tewu.png"/></a></li> 
      <li><a ><img src="http://www.gimoo.net/t/1904/images/3.png"/></a></li> 
      <li><a ><img src="http://www.gimoo.net/t/1904/images/4.png"/></a></li> 
    </ul> 
  </div> 
</body> 

1. id為container的div是最外層的包裝,用來控制滾動區域顯示的具體位置。
2. id為content的ul用來包裝那些需要滾動的圖片。

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; 
} 

這里說明一點,ul 的 width為什么設置為10000px。 因為無縫連續滾動的實現原理,就是在現有顯示圖片的基礎上克隆一份,并且拼接在顯示圖片的后面,但由于顯示圖片的總寬度是未知的,所以為了安全性,最好將ul的width寬度設置比較大些。

三、無縫連續滾動原理分析

查看圖片

四、JQuery實現代碼

<script type="text/javascript"> 
/* window.onload比 $(function(){}) 加載的更晚一些,這樣那些寬度的計算在Chrome中就可以準確計算了*/  
  window.onload = function(){ 
 
    /*計算一個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元素,計算出它們寬度之和。
2. 拷貝一份圖片到現有圖片的后面,原理分析圖的"圖一"所示。

3. 設置6秒鐘滾動完界面上面現有的圖片,滾動完畢后,通過設置content的left值,將其整體拉回到初始狀態,原理分析圖的"圖二"所示。然后遞歸調用run方法,完成無限滾動。

4. 當鼠標經過滾動區域的時候,動畫立刻停止; 當鼠標離開的時候,動畫繼續執行。

關于動畫繼續執行的代碼,如下圖分析:

查看圖片

以上就是jQuery實現圖片無縫連續滾動的代碼,希望對大家的學習有所幫助。



主站蜘蛛池模板: 叶子楣作品| 苏晓电视剧叫什么名字的| 1到100数字表图片| 朱一龙电视剧| 朱莉安妮| 打美女光屁股视频网站| 风之谷钢琴谱| 月亮电影| 永远是少年电影免费观看| 金顶神功| 不得不爱吉他谱| 草逼的视频| 黑暗洛普斯| 爱情岛论坛.| 新领导上任下属表态发言| 校园风暴| 七度空间卫生巾图片| 彭丹主演的经典电影| 张俪eyely| 《棋魂》电视剧| 周记作文| 迷宫1意大利劳尔| 荒岛爱情免费完整版在线观看高清| 速度与激情 电影| 希望online| 王思聪是谁| 黎明电影| 九九乘法表图片| 电影不见不散| 王安宇演的电视剧大全| 妈妈的花样年华演员表全部| 教育部全国青少年普法网答案 | 胡慧中电影| 古灵精探演员表| 色在线播放| 风雨丽人 电视剧| 内蒙古电视台节目表| 厕所英雄| 王晓男演员个人资料| 唐人街探案一免费观看完整版高清| 电影宝贝|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103