Vue.js轮播图走马灯代码实例(全)
程序员文章站
2023-12-12 22:31:46
话不多说先上效果图,本文引荐链接
这个是html,
话不多说先上效果图,本文引荐链接
这个是html,
<template> <div> <div class="back_add"> <div class="threeimg"> <div class="containt"> <div class="iconleft" @click="zuohua"> <i class="el-icon-arrow-left"></i> </div> <ul :style="{'left':calleft + 'px'}" v-on:mouseover="stopmove()" v-on:mouseout="move()"> <li v-for="(item,index) in superurl" :key="index"> <img :src="item.img"/> </li> </ul> <div class="iconright" @click="youhua"> <i class="el-icon-arrow-right" ></i> </div> </div> </div> </div> </div> </template>
数据中我用了一个数组来放图片的目录,
data() { return { superurl: [ { url: '', img: '../../../../static/image/home/picturea.png', }, { url: '', img: '../../../../static/image/home/pictureb.png', }, { url: '', img: '../../../../static/image/home/picturec.png', }, { url: '', img: '../../../../static/image/home/pictured.png', }, { url: '', img: '../../../../static/image/home/showimg1.png', }, { url: '', img: '../../../../static/image/home/showimg2.png', }, ], calleft:0 }
方法是这样的
created() { this.move() }, methods: { //移动 move() { this.timer = setinterval(this.starmove, 2500) }, //开始移动 starmove() { this.calleft -= 340; if (this.calleft < -1200) { this.calleft = 0 } }, //鼠标悬停时停止移动 stopmove() { clearinterval(this.timer) }, //点击按钮左移 zuohua() { this.calleft -= 340; if (this.calleft < -1200) { this.calleft = 0 } }, //点击按钮右移 youhua() { this.calleft += 340; if (this.calleft > 0) { this.calleft = -1020 } }, },
因为我们只有静态的图片所以这么可以,但是如果是取数据库中不定数量的图片就不能这么使用了
最后我加上了css样式就可以了
<style scoped> /*超链接图片*/ #divadd { background-color: #ededed; /*width: 100%;*/ /*min-width: 1200px;*/ width: 1000px; margin: 0px auto; } .divadd-con { margin: 0px auto; width: 1000px; overflow: auto; padding: 30px 0px; } .divadd-con img { float: left; } .indexrt { margin: 0px 40px; } .divaddleft img { float: left; margin-bottom: 7px; } .divaddleft { float: left; display: inline; width: 370px; } .divaddrt { float: right; display: inline; margin-top: 7px; } .back_add { background-color: #ededed; } .divadd-con img { border: none; } a:focus, a:hover { color: #23527c; } .threeimg { height: 158px; background: #ededed; border-bottom: 3px solid #4679b2; min-width: 1000px; } .threeimg .containt ul { margin: 0 auto; width: 2400px; position: absolute; left: 0px; cursor: pointer; height: 100% } .threeimg .containt ul li { width: 300px; margin-right: 40px; margin-top: 10px; float: left; } .threeimg .containt ul li img { height: 128px; width: 100%; } .containt { position: relative; width: 1000px; height: 130px; overflow: hidden; margin: 0 auto; } .iconleft { position: absolute; width: 20px; height: 80px; top: 10px; z-index: 99999; padding-top: 48px; background-color: #ddd; vertical-align: middle; } .iconright { position: relative; left: 978px; top: 70px; background-color: #ddd; /*position: absolute;*/ width: 20px; height: 80px; top: 10px; z-index: 99999; padding-top: 48px; background-color: #ddd; vertical-align: middle; } </style>
走马灯效果引用的是elementui中的样式
<template> <el-carousel :interval="4000" type="card" height="200px"> <el-carousel-item v-for="item in 6" :key="item"> <h3>{{ item }}</h3> </el-carousel-item> </el-carousel> </template> <style> .el-carousel__item h3 { color: #475669; font-size: 14px; opacity: 0.75; line-height: 200px; margin: 0; } .el-carousel__item:nth-child(2n) { background-color: #99a9bf; } .el-carousel__item:nth-child(2n+1) { background-color: #d3dce6; } </style>
轮播效果图
<template> <el-carousel :interval="5000" arrow="always"> <el-carousel-item v-for="item in 4" :key="item"> <h3>{{ item }}</h3> </el-carousel-item> </el-carousel> </template> <style> .el-carousel__item h3 { color: #475669; font-size: 18px; opacity: 0.75; line-height: 300px; margin: 0; } .el-carousel__item:nth-child(2n) { background-color: #99a9bf; } .el-carousel__item:nth-child(2n+1) { background-color: #d3dce6; } </style>
以上所述是小编给大家介绍的vue.js轮播图走马灯详解整合,希望对大家有所帮助