轮播(css+js)

server/2024/12/14 21:05:22/

目录

1.实现效果

2.基础代码演示

2.1js代码

css%E6%A0%B7%E5%BC%8F-toc" style="margin-left:40px;">2.1css样式

2.3实现效果

3.实现点击切换

3.1给button添加点击事件

3.2效果图如下

3.3发现问题

3.3.1不循环

3.3.2循环


1.实现效果

2.基础代码演示

2.1js代码

 <div class="out-box"><div class="test-swiper"><div class="swiper-box"><div class="swiper-item" v-for="(item,index) in 7" :key="index"><img src="" alt=""><p>学习+积累</p></div></div></div><button class="button-one one">上一张</button><button class="button-one two">下一张</button></div>

css%E6%A0%B7%E5%BC%8F">2.1css样式

.out-box{position: relative;width: 100%;.test-swiper{background-color: #d3d8e2;width: 1200px;margin:0 auto;height: 500px;position: relative;overflow: hidden;.swiper-box{position: absolute;display: flex;.swiper-item{width: 400px;height: 400px;background-color: #B7CBEA;margin:50px 100px;}}}.button-one{background-color: rgb(174, 165, 166);position: absolute;top: 50%;width: 50px;height: 50px;border-radius: 100%;}.one{left: 430px;}.two{right:430px;}
}

2.3实现效果

3.实现点击切换

3.1给button添加事件,transform和切换效果

<div class="out-box"><div class="test-swiper"><div class="swiper-box" :style="{transform:`translateX(${translateXtest}px)`,transition: 'transform 0.5s ease-in-out' }"><div class="swiper-item" v-for="(item,index) in testList" :key="index"><img src="" alt=""><p>学习+积累</p></div></div></div><button class="button-one one" @click="onPre">上一张</button><button class="button-one two" @click="onNext">下一张</button>
</div>export defatult{data(){return{ testList:[{},{},{},{}]testIndex:0}}
}computed: {translateXtest(){// 计算需要移动的距离return -this.testIndex * (400 + 200);},
}onPre(){if(this.testIndex>0){ this.testIndex--}
},
onNext(){if(this.testIndex<this.testList.length-1){ this.testIndex++}
}

3.2效果图如下

3.3发现问题

发现数组长度只有3,当触发最后一次onNext操作时候,出现空白,如何解决

3.3.1不循环

一次显示2张图片,添加条件testIndex<testList.length-2

onNext(){

      if(this.testIndex<this.testList.length-2){this.testIndex++}

    }

3.3.2循环

可以当到最后显示testList最后一个数据时,让数组拼接

onNext(){this.testIndex++if(this.testIndex>this.testList.length){this.testList=this.testList.concat(this.testList)}
}

4.完整代码

<div class="out-box"><div class="test-swiper"><div class="swiper-box" :style="{ transform:`translateX(${translateXtest}px)`,transition: 'transform 0.5s ease-in-out' }"><div class="swiper-item" v-for="(item,index) in testList" :key="index"><img src="" alt=""><p>学习+积累{{ index }}</p></div></div></div><button class="button-one one" @click="onPrev">上一张</button><button class="button-one two" @click="onNext">下一张</button>
</div>export defatult{data(){return{ testList:[{},{},{},{}]testIndex:0}}
}computed: {translateXtest(){// 计算需要移动的距离return -this.testIndex * (400 + 200);},
}onPre(){if(this.testIndex>0){ this.testIndex--}
},
onNext(){if(this.testIndex<this.testList.length-2){this.testIndex++}
}.out-box{position: relative;width: 100%;.test-swiper{background-color: #d3d8e2;width: 1200px;margin:0 auto;height: 500px;position: relative;overflow: hidden;.swiper-box{position: absolute;display: flex;.swiper-item{width: 400px;height: 400px;background-color: #B7CBEA;margin:50px 100px;}}}.button-one{background-color: rgb(174, 165, 166);position: absolute;top: 50%;width: 50px;height: 50px;border-radius: 100%;}.one{left: 430px;}.two{right:430px;}
}

如果有好的循环方式,欢迎留言


http://www.ppmy.cn/server/150185.html

相关文章

Java SpringBoot 项目怎样在 IDEA 中运行、部署

大家好&#xff0c;我是程序员徐师兄&#xff0c;今天为大家带来的是Java SpringBoot 项目怎样在 IDEA 中运行、部署。Java 项目的安装部署教程&#xff0c;包括软件的下载&#xff0c;软件的安装。该系统采用 Java 语言开发&#xff0c;SpringBoot 框架&#xff0c;MySql 作为…

如何写出优秀的单元测试?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 写出优秀的单元测试需要考虑以下几个方面&#xff1a; 1. 测试用例设计 测试用例应该覆盖被测试代码的不同场景和边界情况&#xff0c;以尽可能发现潜在的问题。…

Ansible运维实战-自动化安装nginx

Ansible运维实战 1.Ansible自动化安装nginx (1).环境准备 我们创建两台虚拟机分别为server节点、host1节点 两个节点根据节点规划来修改主机名 我们在server节点下安装ansible、其余节点不进行配置 节点 Ip地址 Server节点 192.168.77.171 Host1节点 192.168.77.172 …

Vue路由进阶攻略

目录 一、路由配置 1、概述&#xff1a; 2、在 Vite 项目中进行路由配置通常涉及以下步骤&#xff1a; &#xff08;1&#xff09;安装和引入Vue Router&#xff1a; &#xff08;2&#xff09;定义路由组件&#xff1a; &#xff08;3&#xff09;配置路由&#xff1a; …

MyBatis缓存

目录 ​编辑 一、MyBatis运行顺序 二、一级缓存 &#xff08;1&#xff09;一级缓存失效的四种情况 1.查询时所使用的sqlSession不同 2.sqlSession相同但是当前查询条件不同 3.sqlSesssion相同&#xff0c;但两次查询之间进行了增删改的操作 4.手动清除了一切缓存 三、…

(RHCE)工程师学习考证

如果你像我一样&#xff0c;非科班出身且对 IT 行业知识储备几乎为零&#xff0c;却立志考取 RHCE 红帽工程师证书&#xff0c;那么以下这份学习教程或许能助你一臂之力。 首先&#xff0c;要对 RHCE 有个基本的认识。RHCE 是红帽企业级 Linux 认证&#xff0c;它侧重于实际操作…

【汽车】-- 燃油发动机3缸和4缸

3缸和4缸燃油发动机是小轿车常见的发动机配置。以下从结构特点、性能、经济性等方面对两者进行对比&#xff0c;并分析优缺点及使用注意事项&#xff1a; 1. 结构与运行原理 3缸发动机 特点&#xff1a;少一个气缸&#xff0c;内部零部件更少&#xff0c;整体结构更紧凑。优点…

鸿蒙NEXT开发案例:颜文字搜索器

【引言】 本文将介绍一个名为“颜文字搜索器”的开发案例&#xff0c;该应用是基于鸿蒙NEXT平台构建的&#xff0c;旨在帮助用户快速查找和使用各种风格的表情符号。通过本案例的学习&#xff0c;读者可以了解如何在鸿蒙平台上进行数据处理、UI设计以及交互逻辑的实现。 【环…