经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JSJS库框架 » JavaScript » 查看文章
原生JS的轮播图
来源:cnblogs  作者:p猪  时间:2018/10/12 9:39:16  对本文有异议

学习前端也有一小段时间了,当初在学习javascript的时候,练手的一个轮播图实例,轮播图也是挺常见的了。

着是通过获取图片偏移量实现的。也实现了无缝切换。还有一点问题就是没有加上图片切换的时候的延迟了,哈哈 

html:

  1. 1 <div id="container">
  2. 2 <div id="list" style="left: -600px;">
  3. 3 <img src="../image/1.jpg" alt="5">
  4. 4 <img src="../image/1.jpg" alt="1">
  5. 5 <img src="../image/2.jpg" alt="2">
  6. 6 <img src="../image/3.jpg" alt="3">
  7. 7 <img src="../image/4.jpg" alt="4">
  8. 8 <img src="../image/5.jpg" alt="5">
  9. 9 <img src="../image/1.jpg" alt="1">
  10. 10 </div>
  11. 11 <div id="buttons">
  12. 12 <span class="on"></span>
  13. 13 <span></span>
  14. 14 <span></span>
  15. 15 <span></span>
  16. 16 <span></span>
  17. 17 </div>
  18. 18 <a href="javascript:;" id="prev" class="arrow">&lt;</a>
  19. 19 <a href="javascript:;" id="next" class="arrow">&gt;</a>
  20. 20 </div>

js:

  1. 1 window.onload = function(){
  2. 2 //获取元素
  3. 3 var container = document.getElementById('container');
  4. 4 var list = this.document.getElementById('list');
  5. 5 var buttons = document.getElementById('buttons').getElementsByTagName('span');
  6. 6 var prev = document.getElementById('prev');
  7. 7 var next = document.getElementById('next');
  8. 8 var index = 1;//默认第一个小圆点亮
  9. 9
  10. 10 //小圆点的点亮
  11. 11 function showButton() {
  12. 12 //遍历小圆点的个数,当触发onclick事件后,className为‘on’的变为‘’。
  13. 13 for(var i = 0;i < buttons.length; i++){
  14. 14 if(buttons[i].className == 'on'){
  15. 15 buttons[i].className = '';
  16. 16 break;
  17. 17 }
  18. 18 }
  19. 19 buttons[index - 1].className = 'on'; //原始第一个小圆点点亮,onclick事件触发后,index+1
  20. 20 }
  21. 21
  22. 22 function animate (offset) {
  23. 23 //获取从第一张图片开始发生的偏移量
  24. 24 var newLift = parseInt(list.style.left) + offset;
  25. 25 list.style.left = newLift + 'px';
  26. 26 if(newLift > -600){
  27. 27 //如果偏移量的位置大于-600的时候,图片跳转到第五张图片
  28. 28 list.style.left = -3000 + 'px';
  29. 29 }
  30. 30 if(newLift < -3000){
  31. 31 //如果偏移量的位置大于-3000的时候,图片跳转到第一张图片
  32. 32 list.style.left = -600 + 'px';
  33. 33 }
  34. 34 }
  35. 35 next.onclick = function () {
  36. 36 //如果button的index为5的时候,再点击next按钮会返回 1;
  37. 37 if(index == 5){
  38. 38 index = 1;
  39. 39 }else{
  40. 40 index += 1;
  41. 41 }
  42. 42 showButton();
  43. 43 animate(-600);
  44. 44 }
  45. 45 prev.onclick = function () {
  46. 46 if(index == 1){
  47. 47 index = 5;
  48. 48 }else{
  49. 49 index -= 1;
  50. 50 }
  51. 51 showButton();
  52. 52 animate(600);
  53. 53 }
  54. 54 }

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号