自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

帶有控制按鈕的圖片滾動(dòng)

開(kāi)發(fā) 前端
在js中,通常是用setInterval這個(gè)函數(shù)來(lái)執(zhí)行的,setInterval(func,speed),func表示所要執(zhí)行的函數(shù),speed表示周期時(shí)間,通常用毫秒來(lái)表示。

上一次寫(xiě)了一個(gè)圖片自動(dòng)滾動(dòng)功能,沒(méi)有左右按鈕控制的功能。今天花了點(diǎn)時(shí)間,寫(xiě)了一個(gè)帶有左右按鈕控制的圖片滾動(dòng)效果。所謂自動(dòng)滾動(dòng),原理就是周期性的執(zhí)行一個(gè)效果。

在js中,通常是用setInterval這個(gè)函數(shù)來(lái)執(zhí)行的,setInterval(func,speed),func表示所要執(zhí)行的函數(shù),speed表示周期時(shí)間,通常用毫秒來(lái)表示。

先看一下效果圖:

圖片滾動(dòng)

這里一共有5張圖片,而現(xiàn)在為什么只顯示4張呢?這里用了css的overflow屬性控制一下,我們不可能把所有要滾動(dòng)的圖片都顯示出來(lái),那樣滾動(dòng)就毫無(wú)意義了,用戶不要滾動(dòng),就可以看到所有的圖片了,也影響頁(yè)面圖片的加載時(shí)間。所以要把一些圖片隱藏起來(lái)。

overflow的作用就是子級(jí)的寬度超過(guò)了父級(jí)的寬度,那么子級(jí)超過(guò)的寬度為隱藏起來(lái),當(dāng)然內(nèi)容也會(huì)隱藏起來(lái)。

  1. .subBox {  
  2.     padding: 0;  
  3.     margin: 0 10px;  
  4.     width: 830px;  
  5.     overflow: hidden;  
  6. }  
  7. .subBox ul {  
  8.     width: 100000px;  

還有一點(diǎn)要做到無(wú)間隙的滾動(dòng),子級(jí)的寬度很寬,可顯示區(qū)域如果滾動(dòng)完了,就會(huì)出現(xiàn)空白,這里也考慮到了這一點(diǎn),解決的方式是:向左滾動(dòng),就把最后一張圖片放到最前面去,向右滾動(dòng)就把第一張圖片放到后面去。

  1. obj.find("li:last").prependTo(obj);//向左滾動(dòng)  
  2. obj.find("li:first").appendTo(obj);//向右滾動(dòng) 

因?yàn)槭亲詣?dòng)滾動(dòng)的,當(dāng)用戶向鼠標(biāo)移到圖片上時(shí)讓他停止,這里就用到了clearInterval功能,表示停止周期性滾動(dòng)

  1. clearInterval(moving); 

下一頁(yè),讓我們?cè)倏淳唧w代碼

#p#

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>帶有控制按鈕的圖片滾動(dòng)</title> 
  6. <script src="jquery-1.7.min.js" type="text/javascript"></script> 
  7. <script type="text/javascript"> 
  8. $(function(){  
  9.     var left = $("#left");  
  10.     var right = $("#right");  
  11.     var obj = $(".subBox ul");  
  12.     var w = obj.find("li").innerWidth();  
  13.       
  14.     left.click(function(){  
  15.         obj.find("li:last").prependTo(obj);  
  16.         obj.css("margin-left",-w);  
  17.         obj.animate({"margin-left": 0});  
  18.     });  
  19.       
  20.     right.click(function(){  
  21.         obj.animate({"margin-left": -w},function(){  
  22.             obj.find("li:first").appendTo(obj);  
  23.             obj.css("margin-left","0");  
  24.         });  
  25.     });  
  26.       
  27.     var moving = setInterval(function(){left.click()},2000);  
  28.       
  29.     obj.hover(function(){  
  30.         clearInterval(moving);  
  31.     },function(){  
  32.         moving = setInterval(function(){left.click()},2000);  
  33.     })  
  34.       
  35. });  
  36. </script> 
  37. <style type="text/css"> 
  38. * {  
  39.     margin: 0;  
  40.     padding: 0;  
  41.     list-style: none;  
  42. }  
  43.  
  44. .box {  
  45.     margin: 10px auto;  
  46.     width: 880px;  
  47.     text-align: left;  
  48. }  
  49.  
  50. .floatL {  
  51.     padding-top: 45px;  
  52.     float: left;  
  53. }  
  54.  
  55. .subBox {  
  56.     padding: 0;  
  57.     margin: 0 10px;  
  58.     width: 830px;  
  59.     overflow: hidden;  
  60. }  
  61.  
  62. .subBox ul {  
  63.     width: 100000px;  
  64. }  
  65.  
  66. .subBox ul li {  
  67.     width: 210px;  
  68.     float: left;  
  69. }  
  70.  
  71. </style> 
  72. </head> 
  73. <body> 
  74. <div class="box"> 
  75.     <div class="floatL" id="left"><img src="left.gif" alt="" /></div> 
  76.     <div class="subBox floatL"> 
  77.         <ul> 
  78.             <li><img src="0.jpg" alt="" /></li> 
  79.             <li><img src="1.jpg" alt="" /></li> 
  80.             <li><img src="2.jpg" alt="" /></li> 
  81.             <li><img src="3.jpg" alt="" /></li> 
  82.             <li><img src="4.jpg" alt="" /></li> 
  83.         </ul> 
  84.     </div> 
  85.     <div class="floatL" id="right"><img src="right.gif" alt="" /></div> 
  86. </div> 
  87. </body> 
  88. </html> 

效果下載地址:demo下載

 

原文鏈接:http://www.cnblogs.com/gaoyubao/archive/2012/06/21/2557502.html

責(zé)任編輯:張偉 來(lái)源: 高玉寶的博客
相關(guān)推薦

2023-12-01 11:10:13

CMS開(kāi)源

2011-07-22 13:30:52

JavaScript

2015-01-20 17:15:55

iOS源碼滾動(dòng)視圖

2011-09-02 10:03:40

jQuery滾動(dòng)圖片

2024-12-05 15:45:34

字節(jié)跳動(dòng)豆包

2014-10-15 14:07:21

AndroidGlide組件

2009-06-10 21:48:03

滾動(dòng)圖片Javascript特

2009-08-17 10:26:39

鼠標(biāo)手勢(shì)

2009-11-10 14:13:44

VB.NET圖片框

2011-09-02 09:49:29

JQuery圖片滾動(dòng)

2012-02-24 15:25:45

ibmdw

2010-09-09 14:38:05

CSS背景圖片

2011-05-30 10:26:57

2021-02-22 09:23:55

LRU時(shí)間HashMap

2020-04-21 16:13:29

LinuxCut命令Unix系統(tǒng)

2010-09-30 15:37:29

ScrollBarJavascrip

2024-02-21 20:10:18

滾動(dòng)視頻網(wǎng)頁(yè)

2011-09-02 10:14:10

JQuery滾動(dòng)Xslider

2022-03-31 10:32:08

Mabox LinuLinux

2022-04-28 08:05:05

數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)交互
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)