js之简单轮播图

简介: js之简单轮播图

今天给大家封装一个简单的轮播图,可以点击下一张上一张以及自动轮播

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>走马灯示例</title>
    <style>
      body {
        font-family: Arial, sans-serif;
        background-color: #f9f9f9;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        margin: 0;
      }
 
      .carousel-container {
        position: relative;
        width: 80%;
        max-width: 600px;
        overflow: hidden;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      }
 
      .carousel {
        display: flex;
        transition: transform 0.5s ease;
      }
 
      .carousel-item {
        min-width: 100%;
        box-sizing: border-box;
        padding: 20px;
        background-color: #fff;
        border: 1px solid #ddd;
        border-radius: 10px;
        text-align: center;
      }
 
      .carousel-button {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background-color: rgba(0, 0, 0, 0.5);
        border: none;
        color: #fff;
        padding: 10px;
        cursor: pointer;
        border-radius: 50%;
        font-size: 18px;
      }
 
      .carousel-button.prev {
        left: 10px;
      }
 
      .carousel-button.next {
        right: 10px;
      }
 
      .carousel-button:hover {
        background-color: rgba(0, 0, 0, 0.7);
      }
    </style>
  </head>
  <body>
    <div class="carousel-container">
      <div class="carousel">
        <div class="carousel-item">项目 1</div>
        <div class="carousel-item">项目 2</div>
        <div class="carousel-item">项目 3</div>
        <div class="carousel-item">项目 4</div>
        <div class="carousel-item">项目 5</div>
      </div>
      <button class="carousel-button prev" onclick="prevSlide()">&#10094;</button>
      <button class="carousel-button next" onclick="nextSlide()">&#10095;</button>
    </div>
 
    <script>
      var currentIndex = 0;
 
      function showSlide(index) {
        var carousel = document.querySelector('.carousel');
        var items = document.querySelectorAll('.carousel-item');
        var totalItems = items.length;
        if (index >= totalItems) {
          currentIndex = 0;
        } else if (index < 0) {
          currentIndex = totalItems - 1;
        } else {
          currentIndex = index;
        }
        var offset = -currentIndex * 100;
        carousel.style.transform = 'translateX(' + offset + '%)';
      }
 
      function nextSlide() {
        showSlide(currentIndex + 1);
      }
 
      function prevSlide() {
        showSlide(currentIndex - 1);
      }
 
      // 自动播放功能
      setInterval(function() {
        nextSlide();
      }, 3000); // 每3秒切换一次
    </script>
  </body>
</html>


如上图所示的效果,需要修改下样式更好看

我是小辉,谢谢大家关注

目录
相关文章
|
1月前
|
前端开发
js-基础轮播图制作
js-基础轮播图制作
24 7
|
2月前
|
JavaScript 前端开发
js轮播图练习
文章介绍了如何使用HTML、CSS和JavaScript创建一个简单的轮播图效果。通过`img`标签展示图片,并通过点击下方的点(`span`标签)切换图片。文章提供了完整的HTML结构、CSS样式和JavaScript代码,以及图片的展示和轮播图的效果图。
js轮播图练习
|
1月前
|
JavaScript 前端开发
js轮播图有左右箭头和小点
js轮播图有左右箭头和小点
31 1
|
2月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
3月前
|
JavaScript
js轮播图制作
js轮播图制作
34 1
|
3月前
|
JavaScript
js轮播图功能
js轮播图功能
20 0
|
3月前
|
前端开发 JavaScript
如何使用JavaScript制作轮播图
如何使用JavaScript制作轮播图
26 0
|
5月前
|
安全 JavaScript
旋转木马轮播图 html+css+js
旋转木马轮播图 html+css+js
|
5月前
|
机器学习/深度学习 JavaScript 前端开发
一篇文章讲明白JS左右轮播图的制作思路
一篇文章讲明白JS左右轮播图的制作思路
38 0
|
5月前
|
机器学习/深度学习 JavaScript 前端开发
一篇文章讲明白JS左右轮播图的制作思路
一篇文章讲明白JS左右轮播图的制作思路
22 0