• js轮播图有,移入移出事件,左右滑动事件功能


    效果图:

    具体代码:

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8" />
    5. <meta name="viewport" content="width=device-width, initial-scale=1">
    6. <title></title>
    7. </head>
    8. <style>
    9. * {
    10. margin: 0;
    11. padding: 0;
    12. }
    13. .banner {
    14. width: 100%;
    15. height: 500px;
    16. overflow: hidden;
    17. position: relative;
    18. }
    19. .tow {
    20. width: 600%;
    21. height: 500px;
    22. margin-left:0%;
    23. display: flex;
    24. display: relative;
    25. /* transition: 1s all ; */
    26. }
    27. .tow img {
    28. width: 100%;
    29. height: 100%;
    30. }
    31. .five {
    32. position: absolute;
    33. bottom: 0px;
    34. left: 50%;
    35. transform: translateX(-50%);
    36. display: flex;
    37. bottom: 0;
    38. border: 1px solid lightgray;
    39. }
    40. .five span {
    41. width: 15px;
    42. height: 15px;
    43. display: block;
    44. background-color: antiquewhite;
    45. border-radius: 50%;
    46. display: flex;
    47. }
    48. .but {
    49. width: 100%;
    50. height: 30px;
    51. position: absolute;
    52. border-radius: 50%;
    53. top: 37%;
    54. display: flex;
    55. justify-content: space-between;
    56. }
    57. .but span {
    58. display: none;
    59. background-color: aqua;
    60. }
    61. .banner:hover .but span {
    62. display: block;
    63. }
    64. </style>
    65. <body>
    66. <div class="banner">
    67. <div class="tow">
    68. <img src="img/ou.jpg" alt="" class="mlShow">
    69. <img src="img/oui.jpg" alt="">
    70. <img src="img/tu.jpg" alt="">
    71. <img src="img/opp.jpg" alt="">
    72. <img src="img/iu.jpg" alt="" />
    73. <img src="img/yu.jpg" alt="" />
    74. </div>
    75. <div class="five"></div>
    76. <div class="but">
    77. <span>&lt;</span>
    78. <span class="one">&gt;</span>
    79. </div>
    80. </div>
    81. <script>
    82. let banner = document.getElementsByClassName('banner')[0];//获取所有内容的标签
    83. let tow = document.getElementsByClassName('tow')[0];//获取所有图片的标签
    84. let img = tow.children; //获取图片子元素
    85. let imgWidth = img[0].offsetWidth;//图片宽度自适应
    86. let five = document.getElementsByClassName('five')[0];//获取所有小圆点的标签
    87. let but = document.getElementsByClassName('but')[0];//获取所有按钮的标签
    88. let butItem = but.children;//获取按钮子元素
    89. let index = 0;//初始下标为零
    90. let times = setInterval(scrolls, 2000); //设置定时器
    91. // 动态生成小圆点
    92. for (let i = 0; i < img.length; i++) {
    93. let dot = document.createElement('span'); // 创建一个 span 元素
    94. dot.classList.add('dot'); // 添加 dot 类名
    95. five.appendChild(dot); // 将创建的小圆点添加到五个按钮的容器中
    96. }
    97. function scrolls() { //设置轮播函数
    98. console.log(index);
    99. if (index < img.length - 1) {//判断当前页的长度,如果小于img图片的长度
    100. index++; //自增至最后一张图片
    101. tow.style.marginLeft = -index * imgWidth + "px";
    102. } else { //不小于3变为0第一张
    103. index=0 //跳转至轮播初始位置
    104. tow.style.marginLeft = -index * imgWidth + "px";
    105. }
    106. console.log(index);
    107. // 修改小圆点颜色
    108. let span = five.children;
    109. for (let i = 0; i < span.length; i++) {//循环小圆点
    110. span[i].style.backgroundColor = "rgba(255, 255, 255, 0.6)"; //将其背景颜色变为白色
    111. }
    112. span[index].style.backgroundColor = "rgba(0, 0, 255, 0.6)";//图片轮播到第几张时把对应的小圆点变为蓝色
    113. }
    114. //鼠标移入
    115. banner.onmouseover = function() {
    116. clearInterval(times); //清除定时器
    117. }
    118. // 鼠标移出
    119. banner.onmouseout = function() {
    120. times = setInterval(scrolls, 2000);//开启定时器
    121. butItem[0].onclick = function() {//按钮绑定点击事件
    122. if (index > 0) {
    123. index--;
    124. } else if(index==0) {
    125. index = img.length - 1; //随后一张图片
    126. }
    127. tow.style.marginLeft = -index * imgWidth + "px";
    128. for (let i = 0; i < span.length; i++) {
    129. span[i].style.backgroundColor = "rgba(255, 255, 255, 0.6)";
    130. }
    131. span[index].style.backgroundColor = 'rgba(0, 0, 255, 0.6)';//同上
    132. }
    133. }
    134. butItem[1].onclick = scrolls; //向右点击调用轮播函数
    135. </script>
    136. </body>
    137. </html>

    具体的轮播可以根据需求进行调整;希望可以帮到大家;

  • 相关阅读:
    为什么要学爬虫?
    JSTL标签库和EL表达式
    测试需求平台2-搭建前后端分离github托管项目
    【licheePi-dock】驱动一个OLED-SSD1306
    【systemd】简单的服务创建练习
    程序员的自我修养-链接、装载与库_笔记_第2章:编译和链接
    【NLP入门教程】十八、支持向量机(Support Vector Machines)
    Pthon中的文件处理
    Java实现Excel的导入以及导出,极其简单
    react 项目搭建步骤
  • 原文地址:https://blog.csdn.net/tianxianghuiwei/article/details/139669706