很久之前写过一篇用js按钮实现切换图片效果

现在用vue实现一个轮播图,可以实现点击按钮左右翻页、每隔两秒自动翻页、翻到最后一页自动返回第一页

实现结果如下:
在这里插入图片描述
具体的实现逻辑如下面的代码所示,使用时需把图片数组里的图片替换为自己的图片即可。

实现代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>图片切换</title>
  <link rel="stylesheet" href="./css/index.css" />
</head>

<body>
  <div id="mask">
    <div class="center">
      <h2 class="title">
        <img src="./images/logo.gif" alt="">
        Vue轮播图
      </h2>
      <!-- 图片 -->
      <img :src="imgArr[index]" alt="" />
      <!-- 左箭头 -->
      <a href="javascript:void(0)" v-if="index!=0" @click="prev" class="left">
        <img src="./images/prev.png" alt="" />
      </a>
      <!-- 右箭头 -->
      <a href="javascript:void(0)" v-show="index<imgArr.length-1" @click="next" class="right">
        <img src="./images/next.png" alt="" />
      </a>
    </div>
  </div>

  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

  <script>
    var app = new Vue({
      el: "#mask",
      data: {
        imgArr: [
          "./images/00.jpg",
          "./images/01.jpg",
          "./images/02.jpg",
          "./images/03.jpg",
          "./images/04.jpg",
          "./images/05.jpg",
          "./images/06.jpg",
          "./images/07.jpg",
          "./images/08.jpg",
          "./images/09.jpg",
          "./images/10.jpg",
        ],
        index: 0
      },
      methods: {
        fun:function(){
                //setInterval(函数体,时间)
                setInterval(this.next,2000)
        },
        prev:function(){
          this.index--;
        },
        next:function(){
          this.index++;
          if(this.index == this.imgArr.length){
             this.index = 0;
          }
        }
      },
      mounted:function(){    //生命周期  钩子函数   挂载完成
            this.fun()
      }
    })
  </script>
</body>

</html>
Logo

前往低代码交流专区

更多推荐