查看
    • 编辑修改
    • 首页
    • UNITY
    • NODEJS
    • PYTHON
    • AI
    • GIT
    • PHP
    • GO
    • CEF3
    • JAVA
    • HTML
    • CSS
    devbox
    盐析白兔
    这个屌丝很懒,什么也没留下!
    关注作者
    热门标签
    • jquery
    • HTML
    • CSS
    • PHP
    • ASP
    • PYTHON
    • GO
    • AI
    • C
    • C++
    • C#
    • PHOTOSHOP
    • UNITY
    • iOS
    • android
    • vue
    • xml
    • 爬虫
    • SEO
    • LINUX
    • WINDOWS
    • JAVA
    • MFC
    • CEF3
    • CAD
    • NODEJS
    • GIT
    • Pyppeteer
    • article
    热门文章
    • 1FreeBSD入门④_freebsd 内核初始化
    • 2el-table固定某一行在顶部_el-table固定行
    • 3linux环境下查看C/C++程序的堆栈信息_查看c++运行 栈空间使用 linux
    • 4android系统应用开发_鸿蒙系统应用开发之环境配置
    • 5elementUI的el-table横向展示_elementui横向表格
    • 6深入探索 Android 网络优化(三、网络优化篇)下_android第一次请求网络速度好慢
    • 7软件测试通过及BUG分级标准_针对测试过程中产生严重bug和多次被激活的bug的情况考核开发人如何制定考核
    • 8对红黑树的认识总结_谈谈你对红黑树的认识
    • 9HarmonyOS应用开发学习笔记 包名、icon图标,应用名修改 UIAbility组件介绍、UIAbility启动模式、UIAbility组件基本用法_harmonyos应用内不显示包名
    • 10【VMware】【解决】vmnet0不见、无法安装服务“VMware Authorization Service” 请确保你有足够的权限安装系统服务、虚拟机ping不通主机_无法安装服务vmware authorization 请
    当前位置:   article > 正文

    轮播图vue实现_用vue做轮播图的注意点

    作者:盐析白兔 | 2024-03-16 17:00:29

    赞

    踩

    用vue做轮播图的注意点

    vue里面轮播图的万能模板

    <template>
      <div>
        <div id="Rotation">
    <!-- 改轮播图注意点:1、添加图片m个 mark的最大只等于m-1 
                        2、容器的宽度(item_body)要设为图片个数*图片宽度·-->
    
    <!-- 500是图片的宽度 -->
          <ul
            class="item_body"
            :style="{ transform: 'translate(' + -mark * 500 + 'px,0)' }"
            v-on:mouseover="stop()"
            v-on:mouseout="play()"
          >
            <li
              class="item"
              v-for="(item, index) in items"
              :key="index"
              :style="{ background: item.backgroundColor }"
            >
                <img :src="item.imgurl" alt="">
              {{ item.backgroundColor }}
            </li>
          </ul>
    
    
          <!-- 跟随图片跳动的小圆点 -->
          <!--index与mark相等,保持图片的索引和亮起的小圆点一样 -->
          <ul class="btns">
            <li
              :class="['btn', { active: index === mark }]" 
              v-for="(item, index) in items"
              :key="index"
              @click="move(index)"
            ></li>
          </ul>
    
    
    
          <!-- 点击下一张上一张的按钮 -->
          <div class="right" v-on:click="moveR">&gt;</div>
          <div class="left" @click="moveL">&lt;</div>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      //组件名字
      name: "Rotation",
      //接收父组件给的东西 type是接收什么东西  default 默认值
      props: {
        list: {
          type: Array,
          default() {
            return [];
          },
        },
        color: {
          type: String,
          default: "#000",
        },
      },
      //组件注册
      components: {},
      // vue数据集中管理
      data() {
        return {
          value: "1",
          timer: null,
          mark: 0,
          items: [
            {
              backgroundColor: "red",
              imgurl:'/img/1.jpg'
            },
            {
              backgroundColor: "green",
              imgurl:'/img/2.jpg'
            },
            {
              backgroundColor: "orangered",
              imgurl:'/img/3.jpg'
            },
             {
              backgroundColor: "yellow",
              imgurl:'/img/4.jpg'
            },
          ],
        };
      },
      //方法 函数写这里
      methods: {
        autoplay() {
          this.mark++;
          if (this.mark > 3) {
            this.mark = 0;
          }
        },
        play() {
          this.timer = setInterval(this.autoplay, 3000);
        },
        stop() {
          clearInterval(this.timer);
        },
    
    
    
        // 点击小圆点
        move(index) {
          console.log(index);
          console.log(this);
    
          this.mark = index;
        },
    
        
        // 右点
        moveR() {
          // console.log(this.index);
          this.mark++;
          console.log(this.mark);
    
          if (this.mark > 3) {
            this.mark = 0;
          }
        },
    
        
        // 左点
        moveL() {
          this.mark--;
          if (this.mark < 0) {
            this.mark = 3;
          }
        },
      },
      //计算属性
      computed: {},
      //侦听器
      watch: {},
      //过滤器
      filters: {
        toUpcase(value) {
          return value ? value.toUpperCase() : "";
        },
      },
      //以下是生命周期
      //组件创建之前
      beforeCreate() {},
      //组件创建之后
      created() {},
      //页面渲染之前
      beforeMount() {},
      //页面渲染之后
      mounted() {},
      //页面销毁之前
      beforeDestroy() {},
      //页面销毁之后
      destroyed() {},
      //页面视图数据更新之前
      beforeUpdate() {},
      //页面视图数据更新之后
      updated() {},
      //组件路由守卫enter
      beforeRouteEnter(to, from, next) {
        next((vm) => {});
        // 注意,在路由进入之前,组件实例还未渲染,所以无法获取this实例,只能通过vm来访问组件实例
      },
      //组件路由守卫update更新
      beforeRouteUpdate(to, from, next) {
        // 同一页面,刷新不同数据时调用,
        next();
      },
      //组件路由守卫离开
      beforeRouteLeave(to, from, next) {
        // 离开当前路由页面时调用
        next();
      },
    };
    </script>
    
    <style lang="scss" scoped>
    #Rotation {
      width: 500px;
      height: 200px;
      margin: 0 auto;
      position: relative;
      overflow: hidden;
    }
    
    ul li {
      list-style: none;
    }
    
    .item_body {
      width: 2000px;
      padding: 0;
      /* display: flex; */
      transition: transform 0.4s;
    }
    
    .item {
      width: 500px;
      height: 200px;
      float: left;
      text-align: center;
      line-height: 200px;
    }
    
    .btns {
      z-index: 1;
      position: absolute;
      left: 50%;
      bottom: 0px;
      margin-left: -45px;
      padding: 0;
    }
    
    .btn {
      width: 10px;
      height: 10px;
      background-color: gray;
      border-radius: 50%;
      float: left;
      margin: 10px;
    }
    
    .active {
      background-color: blue;
    }
    
    .right,
    .left {
      position: absolute;
      width: 20px;
      height: 40px;
      line-height: 40px;
      text-align: center;
      background-color: #eee55e;
      color: gray;
      top: 50%;
      margin-top: -20px;
      cursor: pointer;
    }
    
    .left {
      left: 5px;
    }
    
    .right {
      right: 5px;
    }
    </style>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/250869
    推荐阅读
    • articleJDK发布信息、历史及未来规划...
      此页面上的版本信息涵盖了广泛分发或对 Java 开发具有重要意义的 JDK 版本。 它不包括补丁版本或其他一次性版本。J...

      赞

      踩

    • articleDSPE-PEG2000/PEG3400/PEG5000-CREKA 二硬脂酰基磷脂酰乙醇胺-聚乙二...
      Lyso PC-PEG-CKAAKN 磷脂-聚乙二醇-CKAAKN多肽。Lyso PC-PEG-SP94 磷脂-聚乙二...

      赞

      踩

    • article使用AndroidStudio生成打有系统签名的apk_android stdio使用platfor...
      用 Android Studio 开发应用时,adb 连接设备后,可以直接 run 运行到设备上。当 debug 的是系...

      赞

      踩

    • articlelinux下shell脚本实例_linux shell脚本实例...
      1.用户建立脚本 执行 users_create.sh userlist passlist 建立 userlist 列表...

      赞

      踩

    • article【创造者】Python在AI领域的应用和前景...
      Python 是实现 AI 的强大工具,提供了丰富的库和框架,可以用于各种类型的任务。它在人工智能领域的应用尤为广泛,可...

      赞

      踩

    • article安装 | Windows 10下基于Anaconda平台的TensorFlow详细安装步骤_anac...
      博主github:https://github.com/MichaelBeechan博主CSDN:https://blo...

      赞

      踩

    • article数据分析-Pandas的Andrews曲线可视化解读...
      Andrews Curves 是一种有效的可视化工具,它可以帮助我们直观地比较和分析多维数据集之间的相似性和差异性。通过...

      赞

      踩

    • article雅思词汇真经单词共3674个...
      雅思词汇真经 / 雅思词汇真经共3674个单词 / 雅思高频词汇 / 雅思听力词汇 / 雅思词汇表 / Vocabula...

      赞

      踩

    • article聊一聊面试中那些差点翻车的地狱级Spring Cloud与Spring boot难题_springb...
      不论是商业应用还是用户应用,在业务初期都很简单,我们通常会把它实现为单体结构的应用。但是,随着业务逐渐发展,产品思想会变...

      赞

      踩

    • article数据结构之算法复杂度篇_数据结构的算法复杂度...
      如何写出高效率的代码,先来了解时间复杂度和空间复杂度吧,本篇将带你详解算法复杂度。_数据结构的算法复杂度数据结构的算法复...

      赞

      踩

    • articleFaster RCNN算法训练代码解析(1)...
      这周看完faster-rcnn后,应该对其源码进行一个解析,以便后面的使用。那首先直接先主函数出发py-faster-r...

      赞

      踩

    • articlelinux操作指令训练,实验二linux 常用命令练习...
      一、使用简单的命令:date,cal,who,echo,clear等,了解linux命令格式。1.date系列命令,用来...

      赞

      踩

    • article数据结构(二)顺序表和链表...
      线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线...

      赞

      踩

    • articlepynqz2-Ubuntu相关知识学习_pynq-z2 ubuntu...
      文章目录1. pynq 的网络通信问题2.1. pynq 的网络通信问题参考 :https://blog.csdn.ne...

      赞

      踩

    • article如何在一台计算机上使用两个网络,两台计算机如何共享Internet,并且只有一个宽带接口并且不想购买...
      ? EDGE的后续发展表明无线网卡的知识应该得到普及和常识?两台计算机如何共享Internet: 只有一个宽带接口并且不...

      赞

      踩

    • articleyolov3-tiny+realsense d455获取目标深度信息及位置信息_d455深度相机读取...
      参考:链接:https://www.freesion.com/article/3585644384/,根据内参获取真实位...

      赞

      踩

    • article等额本息与等额本金的区别...
      写在前面等额本息和等额本金在字面上含义略有模糊,这里扩展一下这两个词和表意,变成两个句子。等额本息每月还款额的本金+利息...

      赞

      踩

    • article2024年了,学习Flutter还有性价比吗?_flutter 2024...
      在日新月异的科技时代,我们每天都在见证技术的演变与发展。2024年的今天,Flutter作为谷歌推出的跨平台开发框架,已...

      赞

      踩

    • article主流强化学习算法论文综述:DQN、DDPG、TRPO、A3C、PPO、SAC、TD3_td3比ppo...
      强化学习自从15年开始DQN的成功应用得到了雨后春笋般成长,获得学术界极高的关注。在此之间,强化学习主要以model b...

      赞

      踩

    • article等本等息,等额本息,等额本金,看懂再贷款,坑多!_等本等息的贷款陷阱...
      转载于:https://www.sohu.com/a/195677736_590416目前申请信用贷款,还款方式最常见的...

      赞

      踩

    相关标签
    • java
    • 开发语言
    • 版本发布
    • 数学建模
    • html
    • 前端
    • android
    • 脚本
    • 实例
    • python
    • 人工智能
    • TensorFlow
    • Anaconda
    • Python
    • 数据分析
    • pandas
    • 数据挖掘
    • Andrews 曲线
    • 雅思高频词汇
    • 雅思听力词汇
    • 刘洪波雅思词汇真经单词表
    • 雅思词汇真经
    • 雅思真经词汇共多少单词
    • spring cloud
    • spring boot

    Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。

      

    闽ICP备14008679号