手写banner切换方式
<template><!-- banner轮播切换 --><div class="banner-wrapper"><div class="banner-info"><ul class="box" ref="box"><li v-for="(item, index) in bannerList" :key="index"><img :src="item.img" alt="" /></li></ul></div></div>
</template><script>
export default {name: '',data() {return {bannerList: [{ img: '/img/ocean_bck.png' },{ img: '/img/bck.png' },{ img: '/img/ocean_bck.png' },{ img: '/img/bck.png' },{ img: '/img/ocean_bck.png' },{ img: '/img/bck.png' },{ img: '/img/ocean_bck.png' },// { img: '/img/bck.png' }],timer: null,oBox: '',leftVal: 0,count: 0,iconCount: 0,screenWidth: document.body.clientWidth, // 获取屏幕宽度textList: []}},mounted() {let repeat = [this.bannerList[0]]this.bannerList = this.bannerList.concat(repeat)this.inits()},methods: {inits() {this.oBox = this.$refs.box;/*this.count等于0,播放第一张,this.count等于1,播放第二张,以此类推*/this.timer = setInterval(() => {this.leftVal = `-${838 + 838 * this.count}px` //左边的left值this.count++let len = this.bannerList.length //轮播图片总张数if (this.count === len) {/*临界值,此时最后一张图片已经播放完了,最后一张图和第一张图是一样的,目的是为了无缝衔接,此时需要跳转到第一张图片,随后瞬间滑到第二张图,达到无缝观感*/this.count = 1; //为了下次循环开始跳转第三张,所以设置为1this.oBox.style.transition = `all 0s ease-in-out`;this.oBox.style.left = 0;this.setTimeoutTimer = setTimeout(() => {this.oBox.style.transition = `all 0.5S ease-in-out`;// this.oBox.style.opacity = `0`this.oBox.style.left = `-` + 838 + `px`;clearTimeout(this.setTimeoutTimer)this.setTimeoutTimer = null}, 200);} else { //正常循环this.oBox.style.transition = `all 0.5S ease-in-out`;// this.oBox.style.opacity = `0`this.oBox.style.left = this.leftVal}}, 2000)},},
}
</script><style scoped>
.banner-wrapper {width: 100%;height: 100%;
}.banner-info {width: 50%;height: 100%;margin: 0 auto;position: relative;overflow: hidden;
}.box {display: flex;position: absolute;transition: all 0.5S ease-in-out;left: 0;
}.box>li>img {width: 838px;
}
</style>
相关文章:
手写banner切换方式
<template><!-- banner轮播切换 --><div class"banner-wrapper"><div class"banner-info"><ul class"box" ref"box"><li v-for"(item, index) in bannerList" :key"index">&…...
技术文档工具『Writerside』抢鲜体验
前言 2023 年 10 月 16 日,JetBrains 宣布以早期访问状态推出 Writerside,基于 IntelliJ 平台的 JetBrains IDE,开发人员可使用它编写、构建、测试和发布技术文档,可以作为 JetBrains IDE 中的插件使用,也可以作为独立…...
Centos磁盘爆满_openEuler系统磁盘爆满清理方法---Linux工作笔记060
磁盘爆满,监控部门就会报警,报警就要处理,但是程序员并不擅长做运维的工作,记录一下把...以后用到会方便: 使用df -h命令可以看到,对应的磁盘占用情况,这里我的/dev/mapper/openeuler-root这个目录 占用的磁盘比较多,到了百分之95了.. 往往就是这个跟目录,我这里/data目录是自…...
dubbo启动提示端口号已经被占用
本地dubbo项目启动提示: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) at org.sp…...
LeetCode每日一题——2678. Number of Senior Citizens
文章目录 一、题目二、题解 一、题目 You are given a 0-indexed array of strings details. Each element of details provides information about a given passenger compressed into a string of length 15. The system is such that: The first ten characters consist o…...
按摩 推拿上门服务小程序源码 家政上门服务系统源码
按摩 推拿上门服务小程序源码 家政上门服务系统源码 上门服务系统是一款基于互联网和移动应用的高端家政服务预订平台,它集成了用户、服务员、客户三方的需求于一体,为广大市民提供方便、高效、安全、舒适的家居服务体验,让你在家当皇帝&…...
排列排序问题---2023 年华中科技大学程序设计竞赛新生赛
解析: 将序列分为多段,每段必须连续并且单调,输出段数-1即可 #include<bits/stdc.h> using namespace std; #define int long long const int N1e65; int n,a[N]; signed main(){scanf("%lld",&n);for(int i1;i<n;i)…...
数据恢复怎么做?记好这款堪比数据恢复专家的软件!
“我真的受够了数据总是莫名其妙丢失了!但是我的电脑知识又很有限,文件丢失后我都不知道应该采取什么方法来进行恢复。谁能给我介绍一些方法呀?” 数据丢失是一场噩梦,无论是因为误删除、硬盘损坏、病毒攻击还是其他原因。然而&am…...
远程监控高并发高吞吐java进程
文章目录 背景工具jconsole和jvisualvm 压测实战以太坊Java程序监控1.使用jconsole监控2.使用jvisualvm监控 问题分析堆内存使用异常通过调整内存策略来应对: 交易虚增问题 背景 作为使用java技术栈的金融类公司,确保Java程序在生产环境中的稳定性和性能…...
MapperStruct实现类为空
问题描述: MapperStruct生成的实现了为空 按照在MapperStruct官网Installation – MapStruct中的方法配置后,生成的实现了是空的,如下: Overridepublic DeployHistory toEntity(DeployHistoryDto arg0) {if ( arg0 null ) …...
【webpack】wabpack5 知识梳理
1、简单介绍 默认功能 可处理 js、json文件,处理 js 文件引入将其打包; 可处理字体、图片、音视频等静态资源(webpack5有内置loader:asset); 将es6的import规范编译为浏览器可识别的commonjs规范…...
ThinkPHP 3.2 常用内置函数
ThinkPHP 3.2 内置函数CDM疑问: D与M方法的相同点与不同点IAR 内置函数 C C方法是用于获取或修改,系统配置参数 语法: 获取:C(需要获得的配置参数Name) $value C(config_name);设置:C&…...
STM32F4_USB读卡器(USB_Slave)/USB U盘(Host)
前言 STM32F4芯片自带了USB OTG FS(FS,即全速,12Mbps)和USB OTG HS,支持USB Host和USB Device。 1. USB简介 USB,是英文Universal Serial BUS(通用串行总线)的缩写,是一…...
【网络安全入门】学习网络安全必须知道的100 个网络基础知识
前言 先领取资料再阅读哦 【282G】网络安全&黑客技术零基础到进阶全套学习大礼包(附面试题答案),免费分享! 【282G】网络安全&黑客技术零基础到进阶全套学习大礼包(附面试题答案),免…...
96核的AMD锐龙Threadripper PRO 7995WX性能如何?
AMD新推出的锐龙Threadripper 7000系列可以说是目前最快的工作站处理器,最顶级的锐龙Threadripper PRO 7995WX拥有96个Zen 4内核,共192线程,基础频率2.5GHz,加速频率5.15GHz,拥有384MB L3缓存和多达128条PCI-E 5.0通道…...
TS和JS的区别
1.TS和JS的区别 ts 是js的超集。 从执行环境上来看,浏览器、node.js 可以直接执行js,但不能执行ts;编译层面,Ts 有编译阶段,js 没有,只有转译阶段和lint阶段;ts更难写一点,但类型更安全。ts 代码写出来就是…...
顺序栈的实现----数据结构
栈的概念 对于栈(Stack),后进先出(Last In First Out,LIFO),栈也是一种线性表,只不过是一种操作受限的线性表,只能在一端操作,也就是不允许在中间进行查找、…...
k8s calico 网络原理
一、cluster ip Cluster IP 是 Kubernetes 中 Service 的 IP 地址,它是一个虚拟 IP 地址,用于集群内的 Pod 相互通信。 例如: Cluster IP:2.2.2.2负载的真实Pod IP:1.1.1.1 场景: Pod A 的 IP 地址是 …...
【Python学习笔记】循环
Python中有两种类型的循环: while 循环 和 for 循环 1. while 循环 while循环是: 检查一个条件表达式,只要条件表达式计算结果为True 时, 就执行下面缩进的代码。 如此反复,直到条件表达式计算结果为False时,结束 循…...
1 如何入门TensorFlow
近年来人工智能的火爆吸引了很多人,网上相关的热门课程报名的人很多,但是坚持下去的人却少。那些晦涩的原理没有一定知识的积累很难能理解。 如果你对人工智能感兴趣,且想利用人工智能去实现某项功能,而不是对人工智能本身感兴趣&…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
