首页 > 语言 > JavaScript > 正文

JavaScript实现图片轮播的方法

2024-05-06 16:24:12
字体:
来源:转载
供稿:网友

这篇文章主要介绍了JavaScript实现图片轮播的方法,使用纯javascript实现图片轮播切换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了JavaScript实现图片轮播的方法。分享给大家供大家参考。具体如下:

这里没有使用到JQUERY,没有过渡效果,图片可自行替换 。

test2.html页面:

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. <html xmlns="http://www.w3.org/1999/xhtml"
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  6. <title>无标题文档</title> 
  7. <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> 
  8. <style> 
  9. .img-div img{display:none;} 
  10. </style> 
  11. </head> 
  12. <body> 
  13. <div class="slide" id="slide"
  14. <div class="img-div"
  15. <img src="model.jpg" /> 
  16. <img src="model2.jpg" /> 
  17. <img src="model.jpg" /> 
  18. <img src="model2.jpg" /> 
  19. <img src="model.jpg" /> 
  20. </div> 
  21. <div class="slide-btn"
  22. <a href="#" class="hover">1</a> 
  23. <a href="#" class="hover">2</a> 
  24. <a href="#" class="hover">3</a> 
  25. <a href="#" class="hover">4</a> 
  26. <a href="#" class="hover">5</a> 
  27. </div> 
  28. </div> 
  29. <script type="text/javascript"
  30. var zBase= 
  31. $id:function(id){return document.getElementById(id);}, 
  32. $tagName:function(tagName,obj){return ((obj?obj:document).getElementsByTagName(tagName));}, 
  33. $c:function(clsN,obj) 
  34. var tag=this.$tagName('*'),reg=new RegExp('(^|//s)'+clsN+'(//s|$)'),arr=[]; 
  35. for(var i=0;i<tag.length;i++) 
  36. if(reg.test(tag[i].className)) 
  37. arr.push(tag[i]);  
  38. }  
  39. return arr; 
  40. }, 
  41. $add:function(obj,clsN) 
  42. var reg=new RegExp('(^|//s)'+clsN+'(//s|$)'); 
  43. if(!reg.test(obj.className)) 
  44. obj.className+=' '+clsN;  
  45. }  
  46. }, 
  47. $remove:function(obj,clsN) 
  48. var cla=obj.className; 
  49. var reg='/|//s*'+clsN+'//b/g'
  50. obj.className=cla?cla.replace(eval(reg),''):'';  
  51. }, 
  52. css:function(obj,attr,value) 
  53. if(value) 
  54. obj.style[attr]=value;  
  55. }  
  56. else 
  57. return typeof window.getComputedStyle!="undefined"?window.getComputedStyle(obj,null)[attr]:obj.currentStyle[attr];  
  58. }, 
  59. easing: 
  60. liner:function(t,b,c,d){return c*t/d+b}, 
  61. easeOut:function(t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b} 
  62. }, 
  63. config: 
  64. index:0, 
  65. auto:true
  66. direct:'left' 
  67. }, 
  68. init:function() 
  69. this.slide=this.$id('slide'); 
  70. this.img_div=this.$c('img-div')[0]; 
  71. this.slide_btn=this.$tagName('a',this.$c('slide-btn')[0]); 
  72. this.img_arr=this.$tagName('img',this.img_div); 
  73. if(this.config.auto){this.play();} 
  74. this.hover(); 
  75. }, 
  76. animate:function(obj,attr,val) 
  77. var d=1000; 
  78. if(obj[attr+"timer"]){clearInterval(obj[attr+"timer"])}; 
  79. var start= parseInt(zBase.css(obj,attr)); 
  80. var space=val-start,st=(new Date().getTime()),m=space>0?'cell':'floor'
  81. obj[attr+'timer']=setInterval(function(){ 
  82. var t=(new Date().getTime()-st); 
  83. if(t<d) 
  84. zBase.css(obj,attr,Math[m](zBase.easing["easeOut"](t,start,space,d))+"px"); 
  85. else 
  86. clearInterval(obj[attr+'timer']); 
  87. zBase.css(obj,attr,top+space+"px"); 
  88. }  
  89. },20); 
  90. }, 
  91. hover:function() 
  92. for(var i=0;i<this.slide_btn.length;i++) 
  93. this.slide_btn[i].index=i; 
  94. this.slide_btn[i].onmouseover=function() 
  95. if(zBase.slide.timer) 
  96. clearInterval(zBase.slide.timer);  
  97. }  
  98. zBase.config.index=this.index; 
  99. //console.log(this.slide_btn); 
  100. for(var j=0;j<zBase.slide_btn.length;j++) 
  101. zBase.$remove(zBase.slide_btn[j],'hover'); 
  102. zBase.$add(zBase.slide_btn[zBase.config.index],'hover'); 
  103. zBase.animate(zBase.img_div,zBase.config.direct,-zBase.config.index*1000); 
  104. this.slide_btn[i].onmouseout=function() 
  105. zBase.play();  
  106. }, 
  107. play:function(){ 
  108. this.slide.timer = setInterval(function(){ 
  109. var tags=zBase.$tagName('img',this.img_div); 
  110. //zBase.$tagName('img',this.img_div)[zBase.config.index].style.display="block"; 
  111. for(var i =0;i<tags.length;i++) 
  112. if(zBase.config.index==i) 
  113. zBase.$tagName('img',this.img_div)[zBase.config.index].style.display="block"
  114. }  
  115. else 
  116. zBase.$tagName('img',this.img_div)[i].style.display="none";  
  117. zBase.config.index++; 
  118. if(zBase.config.index>=zBase.img_arr.length) zBase.config.index=0; 
  119. zBase.animate(zBase.img_div,zBase.config.direct,-zBase.config.index*500); 
  120. for(var j=0;j<zBase.slide_btn.length;j++){ 
  121. zBase.$remove(zBase.slide_btn[j],'hover') ; 
  122. zBase.$add(zBase.slide_btn[zBase.config.index],'hover'); 
  123. },3000) 
  124. zBase.init(); 
  125. </script> 
  126. </body> 
  127. </html> 

希望本文所述对大家的javascript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选