轮播图的简单实现

梦里梦外; 2023-07-03 08:10 45阅读 0赞

看上网上的教程,然后自己做了一个简单的轮播图案例:

图片是从京东上轮播图扣下来的图片。(自己抠图的时候,记得改下代码中盒子的宽度和图片的宽度一致,以及鼠标放上去的时候target移动盒子的大小=图片大小)

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NvV2hhdFdvcmxk_size_16_color_FFFFFF_t_70watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NvV2hhdFdvcmxk_size_16_color_FFFFFF_t_70 1

效果图如上。

代码如下,有注释。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>轮播图测试</title>
  6. <style>
  7. /* 样式初始化 */
  8. * {
  9. margin: 0;
  10. padding: 0;
  11. list-style: none;
  12. }
  13. /* 去除图片间3px的间隙 */
  14. img {
  15. display: block;
  16. }
  17. .slider {
  18. width: 590px;
  19. height: 470px;
  20. border: 1px solid #ccc;
  21. margin: 100px auto;
  22. position: relative;
  23. }
  24. .inner {
  25. width: 100%;
  26. height: 100%;
  27. position: relative;
  28. overflow: hidden;
  29. }
  30. .inner ul {
  31. position: absolute;
  32. /* 放置超级大的盒子,用于放置所有图片,width设置为1000% */
  33. width: 1000%;
  34. left: 0;
  35. top: 0;
  36. }
  37. ul li {
  38. float: left;
  39. }
  40. .slider_indicators {
  41. position: absolute;
  42. left: 50%;
  43. margin-left: -100px;
  44. bottom: 10px;
  45. }
  46. .slider_indicators i {
  47. float: left;
  48. display: block;
  49. width: 20px;
  50. height: 20px;
  51. line-height: 20px;
  52. background-color: rgba(255, 255, 255, .5);
  53. text-align: center;
  54. margin-right: 10px;
  55. border-radius: 50%;
  56. }
  57. .slider_indicators i.current {
  58. background-color: #fff;
  59. }
  60. </style>
  61. <script>
  62. window.onload = function() {
  63. var slider = document.getElementById("slider");
  64. var ul = slider.children[0].children[0];
  65. var indicators = slider.children[1];
  66. var iLists = indicators.children;
  67. for(var i = 0; i < iLists.length; i++) {
  68. iLists[i].index = i;
  69. iLists[i].onmouseover = function(){
  70. for(var j = 0; j < iLists.length; j++) {
  71. iLists[j].className = "";
  72. }
  73. this.className = "current";
  74. // 鼠标放入时,图片滑动到下一个盒子
  75. target = -this.index * 590;
  76. }
  77. }
  78. //设置定时任务,执行滑动图片
  79. var leader = 0, target = 0;
  80. setInterval(function(){
  81. // 缓动时候,大盒子的移动公式
  82. leader = leader + (target - leader) /10;
  83. ul.style.left = leader + "px";
  84. }, 30);
  85. }
  86. </script>
  87. </head>
  88. <body>
  89. <div class="slider" id="slider">
  90. <div class="inner">
  91. <ul>
  92. <li><a href="#"><img src="images/1.jpg" alt=""></a></li>
  93. <li><a href="#"><img src="images/2.jpg" alt=""></a></li>
  94. <li><a href="#"><img src="images/3.jpg" alt=""></a></li>
  95. <li><a href="#"><img src="images/4.jpg" alt=""></a></li>
  96. <li><a href="#"><img src="images/5.jpg" alt=""></a></li>
  97. </ul>
  98. </div>
  99. <div class="slider_indicators">
  100. <i class="current"></i>
  101. <i></i>
  102. <i></i>
  103. <i></i>
  104. <i></i>
  105. </div>
  106. </div>
  107. </body>
  108. </html>

左右按钮点击切换轮播图,另一篇文章:

发表评论

表情:
评论列表 (有 0 条评论,45人围观)

还没有评论,来说两句吧...

相关阅读

    相关 简单实现

    轮播图介绍 轮播图是在首页上展示信息的一种方式。为了让用户不用滚动屏幕就能看到更多内容,设计师们利用轮播图来最大化信息密度。轮播图有多种形状和大小,但本文中谈及的轮播...

    相关 简单实现

    看上网上的教程,然后自己做了一个简单的轮播图案例: 图片是从京东上轮播图扣下来的图片。(自己抠图的时候,记得改下代码中盒子的宽度和图片的宽度一致,以及鼠标放上去的时候targ

    相关 简单实现

    简单轮播图的实现 \简单轮播图的实现的思路 1. 所谓的简单轮播图就是指每一个数字按钮对应一张图片,并能够点击数字按钮实现图片的跳转。 2. 其实轮播图就是一个ul列表

    相关 vue实现简单

    实现思路: 1. 将vue的框架封装在function中,在界面刷新时调用,将要轮播的图片存放在data中,还有下面的列表也分别保存在data中的一个数组中,然后每隔一