首页 > 语言 > JavaScript > 正文

javascript+html5实现仿flash滚动播放图片的方法

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

这篇文章主要介绍了javascript+html5实现仿flash滚动播放图片的方法,可实现类似Flash滚动播放的效果,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了javascript+html5实现仿flash滚动播放图片的方法。分享给大家供大家参考。具体如下:

html部分:

 

 
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head lang="en">  
  4. <meta charset="UTF-8">  
  5. <title></title>  
  6. <script src="move.js" type="text/javascript"></script>  
  7. <link href="css.css" type="text/css" rel="stylesheet">  
  8. </head>  
  9. <body>  
  10. <div id="playImages" class="play">  
  11. <ul class="big_pic">  
  12. <div class="prev"></div>  
  13. <div class="next"></div>  
  14. <a class="mark_left" href="javascript:;"></a>  
  15. <a class="mark_right" href="javascript:;"></a>  
  16. <li style="z-index: 1"><img src="image/1.JPG"></li>  
  17. <li><img src="image/2.JPG"></li>  
  18. <li><img src="image/3.JPG"></li>  
  19. <li><img src="image/4.JPG"></li>  
  20. <li><img src="image/5.JPG"></li>  
  21. <li><img src="image/6.JPG"></li>  
  22. </ul>  
  23. <div class="small_pic">  
  24. <ul>  
  25. <li><img src="image/1.JPG"></li>  
  26. <li><img src="image/2.JPG"></li>  
  27. <li><img src="image/3.JPG"></li>  
  28. <li><img src="image/4.JPG"></li>  
  29. <li><img src="image/5.JPG"></li>  
  30. <li><img src="image/6.JPG"></li>  
  31. </ul>  
  32. </div>  
  33. </div>  
  34. </body>  
  35. </html> 

css部分:

 

 
  1. body{ margin0pxpadding0px; } 
  2. ul{ margin0pxpadding0px; } 
  3. li{ list-stylenone; }  
  4. .play{ width600pxheight550px; left: 30px; top: 20px
  5. positionrelativeborder2px solid black
  6. }  
  7. .big_pic{ width600pxheight400pxpositionrelative
  8. background: snow; overflowhidden
  9. }  
  10. .big_pic li{ width600pxheight400pxoverflow:hidden
  11. positionabsolutebackgroundblackz-index0 
  12. }  
  13. .big_pic li img{ width600pxheight400px
  14. positionabsolute
  15. }  
  16. .mark_left{ width300pxheight400px
  17. background: orange; positionabsolute; left: 0px; top: 0px
  18. z-index3000; filter: alpha(opacity:0); opacity: 0
  19. }  
  20. .mark_right{ width300pxheight400pxbackground: cornflowerblue; 
  21. positionabsolute; left: 300px; top: 0px
  22. z-index3000; filter: alpha(opacity:0); opacity: 0
  23. }  
  24. .prev{ width60pxheight60px;  
  25. backgroundurl(image/btn.gif) no-repeatpositionabsolute;  
  26. z-index3001; top: 170px; left: 10pxcursorpointer;  
  27. filter: alpha(opacity:0); opacity: 0
  28. }  
  29. .next{ width60pxheight60px;  
  30. backgroundurl(image/btn.gif) no-repeat 0 -60px;  
  31. positionabsolutez-index3001; top: 170px; right: 10px
  32. cursorpointer; filter: alpha(opacity:0); opacity: 0
  33. }  
  34. .small_pic{ width594pxheight144px;  
  35. positionrelative;top: 0;left: 0
  36. border3px solid paleturquoise;overflowhidden
  37. }  
  38. .small_pic ul{ width594pxheight144px;  
  39. positionabsolute; left: 0px;top: 0px
  40. }  
  41. .small_pic li img{ width194pxheight140px; }  
  42. .small_pic ul li{ border:2px solid paleturquoise; 
  43. width194pxheight140pxfloatleft
  44. cursorpointer; filter: alpha(opacity:60); opacity: 0.6

JS部分:

 

 
  1. window.onload=function(){  
  2. var oPlay=document.getElementById('playImages');  
  3. var uBig=getClass(oPlay,'big_pic')[0];  
  4. var uSmall=getClass(oPlay,'small_pic')[0];  
  5. var oPrev=getClass(oPlay,'prev')[0];  
  6. var oNext=getClass(oPlay,'next')[0];  
  7. var aLeft=getClass(oPlay,'mark_left')[0];  
  8. var aRight=getClass(oPlay,'mark_right')[0];  
  9. var oUlSmall=uSmall.getElementsByTagName('ul')[0];  
  10. var oSli=uSmall.getElementsByTagName('li');  
  11. var oBli=uBig.getElementsByTagName('li');  
  12. oUlSmall.style.width=oSli[0].offsetWidth*oSli.length+'px';  
  13. oPrev.onmouseover=aLeft.onmouseover=function(){  
  14. move(oPrev,100,'opacity');  
  15. };  
  16. oPrev.onmouseout=aLeft.onmouseout=function(){  
  17. move(oPrev,0,'opacity');  
  18. };  
  19. oNext.onmouseover=aRight.onmouseover=function(){  
  20. move(oNext,100,'opacity');  
  21. };  
  22. oNext.onmouseout=aRight.onmouseout=function(){  
  23. move(oNext,0,'opacity');  
  24. };  
  25. var index=0;  
  26. var newZIndex=2;  
  27. for (var i=0;i<oSli.length;i++){  
  28. oSli[i].num=i;  
  29. oSli[i].onclick=function(){  
  30. if(this.num==index) {  
  31. return;  
  32. else{  
  33. index=this.num;  
  34. tab();  
  35. }  
  36. };  
  37. oSli[i].onmouseover=function(){  
  38. move(this,100,'opacity');  
  39. };  
  40. oSli[i].onmouseout=function(){  
  41. if(this.num!=index){  
  42. move(this,60,'opacity');  
  43. }  
  44. };  
  45. }  
  46. oPrev.onclick=function(){  
  47. index--;  
  48. if(index==-1){  
  49. index=oSli.length-1;  
  50. }  
  51. tab();  
  52. };  
  53. oNext.onclick=function(){  
  54. index++;  
  55. if(index==oBli.length){  
  56. index=0;  
  57. }  
  58. tab();  
  59. };  
  60. function tab() {  
  61. oBli[index].style.height = 0;  
  62. oBli[index].style.zIndex = newZIndex++;  
  63. move(oBli[index], 400, 'height');  
  64. for (var i = 0; i < oSli.length; i++) {  
  65. move(oSli[i], 60, 'opacity');  
  66. }  
  67. move(oSli[index], 100, 'opacity');  
  68. if (index == 0) {  
  69. move(oUlSmall, 0, 'left');  
  70. else if (index == oSli.length - 1) {  
  71. move(oUlSmall, -(index - 2) * oSli[0].offsetWidth, 'left');  
  72. else {  
  73. move(oUlSmall, -(index - 1) * oSli[0].offsetWidth, 'left');  
  74. }  
  75. };  
  76. var timer=setInterval(oNext.onclick,3000);;  
  77. oPlay.onmouseover=function(){  
  78. clearInterval(timer);  
  79. };  
  80. oPlay.onmouseout=function(){  
  81. timer=setInterval(oNext.onclick,3000);  
  82. };  
  83. };  
  84. function getStyle(obj,name){  
  85. if(obj.currentStyle){  
  86. return obj.currentStyle[name];  
  87. }else{  
  88. return getComputedStyle(obj,false)[name];  
  89. }  
  90. };  
  91. function move(obj,iTarget,name){  
  92. clearInterval(obj.timer);  
  93. obj.timer=setInterval(function(){  
  94. var cur=0;  
  95. if(name=='opacity'){  
  96. cur=Math.round(parseFloat(getStyle(obj,name))*100);  
  97. }else{  
  98. cur=parseInt(getStyle(obj,name));  
  99. }  
  100. var speed=(iTarget-cur)/30;  
  101. speed=speed>0?Math.ceil(speed):Math.floor(speed);  
  102. if(cur==iTarget){  
  103. clearInterval(obj.timer);  
  104. }else{  
  105. if(name=='opacity'){  
  106. obj.style.opacity=(cur+speed)/100;  
  107. obj.style.filter='alpha(opacity:'+cur+speed+')';  
  108. }else{  
  109. obj.style[name]=cur+speed+"px";  
  110. }  
  111. }  
  112. },30);  
  113. };  
  114. function getClass(oParent,name){  
  115. var oArray=[];  
  116. var oBj=oParent.getElementsByTagName('*');  
  117. for(var i=0;i<oBj.length;i++){  
  118. if(oBj[i].className==name){  
  119. oArray.push(oBj[i]);  
  120. }  
  121. }  
  122. return oArray;  

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

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

图片精选