vue3制作轮播图+vue轮播图的图片引入方式

对应的<teemplate> 

<template><div class="box"><ul class="ul1" ref="ul1"><li v-for="(img, idx) in images" :key="idx" :style="{ zIndex: img.zIndex }"><img :src="img.src" :width="img.width" :height="img.height"></li></ul><div class="left-botton indexs" id="left-botton" @click="moveLeft">&lt;</div><div class="right-botton indexs" id="right-botton" @click="moveRight">&gt;</div><ul class="ul2 indexs" ref="ul2"><li v-for="(button, idx) in buttons" :key="idx":style="{ backgroundColor: button.backgroundColor, color: button.color }"@click="jumpTo(idx)"><img :src="button.imgSrc" :alt="button.alt"></li></ul></div></template>

轮播图引入方式,我查阅资料,试了很多种方法,包括require引入等等,都发现不行,于是自己试出一种方法 

<script>import img86 from '../image/img86.jpg';/*先定义一个变量再将变量引入*/import img87 from '../image/img87.jpg';import img88 from '../image/img88.jpg';import img89 from '../image/img89.jpg';import img92 from '../image/img92.png';export default {data() {return {images: [{ src: img86, width: 1520, height: 800, zIndex: 0 },{ src: img87, width: 1520, height: 800, zIndex: 0 },{ src: img88, width: 1520, height: 800, zIndex: 0 },{ src: img89, width: 1520, height: 800, zIndex: 100 }],buttons: [{ backgroundColor: '#fff', color: '#000', imgSrc: img92, alt: '祥云' },{ backgroundColor: '#fff', color: '#000', imgSrc: img92, alt: '祥云' },{ backgroundColor: '#fff', color: '#000', imgSrc: img92, alt: '祥云' },{ backgroundColor: 'red', color: '#fff', imgSrc: img92, alt: '祥云' }],index: 0,timer: null};},mounted() {this.startInterval();},methods: {startInterval() {this.timer = setInterval(() => {this.index = (this.index + 1) % this.images.length;this.updateSlide(this.index);}, 2000);},moveLeft() {clearInterval(this.timer);this.index = (this.index - 1 + this.images.length) % this.images.length;this.updateSlide(this.index);this.startInterval();},moveRight() {clearInterval(this.timer);this.index = (this.index + 1) % this.images.length;this.updateSlide(this.index);this.startInterval();},jumpTo(idx) {clearInterval(this.timer);this.index = idx;this.updateSlide(this.index);this.startInterval();},updateSlide(index) {this.images.forEach((img, idx) => {img.zIndex = idx === index ? 100 : 0;});this.buttons.forEach((button, idx) => {button.backgroundColor = idx === index ? 'red' : '#fff';button.color = idx === index ? '#fff' : '#000';});}}};</script>

对应的css

<style scoped>
*{font-size: 12px;
}
ul{margin: 0;padding: 0;list-style: none;
}.box{width: 1520px;height: 800px;position: relative;border: 1px red solid;}
.ul1{width: 100%;height: 100%;
}
.ul1>li{position: absolute;
}
.left-botton{position: absolute;width: 35px;height: 70px;background-color: #00000050;color: #ccc;top:195px;border-radius:0 5px 5px 0;text-align: center;line-height: 70px;font-size: 27px;
}.left-botton:hover{background-color: #00000050;color: #fff;}  
.right-botton{position: absolute;width: 35px;height: 70px;background-color: #00000050;color: #ccc;top:195px;border-radius:0 5px 5px 0;text-align: center;line-height: 70px;font-size: 27px;right: 0;
}.right-botton:hover{background-color: #00000050;color: #fff;}
.ul2{position: absolute;bottom: 20px;right: 100px;
}.ul2>li {width: 20px;height: 20px;background-color: #fff;text-align: center;line-height: 20px;border-radius: 100%;float: left;margin-right: 10px;padding: 5px; /* 调整祥云图案与背景之间的间距 */
}.ul2>li img {width: 100%; /* 设置祥云图案的宽度为父元素的100% */height: 100%; /* 设置祥云图案的高度为父元素的100% */
}.ul2>li:hover{background-color: #00000050;color: #fff;		
}
.ul2>li:nth-child(1){background-color: #00000050;color: #fff;		
}
.ul2>li:nth-child(1){z-index: 100;
}
.indexs{z-index: 1000;
}
</scoped>

等我后续再补充实现思路和讲解 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习驱动的中文情感分析:PlugLink 在实践中的桥梁作用

深度学习驱动的中文情感分析&#xff1a;PlugLink 在实践中的桥梁作用 情感分析技术则如同滤网&#xff0c;帮助我们从这股洪流中筛选出有价值的情感信号。特别是对于中文这样的多音字、同音词丰富且语境复杂度高的语言&#xff0c;深度学习模型展现了无与伦比的优势。本文将以…

代码随想录第45天|动态规划

300.最长递增子序列 参考 dp[i] 表示以 i 为结尾的最长递增子序列长度递推公式: 使用 i 和 j 判断 dp[i] max(dp[j] 1, dp[i])每次 j 都需要从头遍历 初始化: dp[i] 1 class Solution { public:int lengthOfLIS(vector<int>& nums) {vector<int> dp(nums…

基于STM32设计的管道有害气体检测装置(ESP8266局域网)176

基于STM32设计的管道有害气体检测装置(176) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成【3】ESP8266模块配置【4】上位机开发思路【5】项目模块划分【6】LCD显示屏界面布局【7】上位机界面布局1.2 项目功能需求1.3 项目开发背景1.4 开发工具的选择1…

国产化新标杆:TiDB 助力广发银行新一代总账系统投产上线

随着全球金融市场的快速发展和数字化转型的深入推进&#xff0c;金融科技已成为推动银行业创新的核心力量。特别是在当前复杂多变的经济环境下&#xff0c;银行业务的高效运作和风险管理能力显得尤为重要。总账系统作为银行会计信息系统的核心&#xff0c;承载着记录、处理和汇…

2024年06月CCF-GESP编程能力等级认证Python编程二级真题解析

本文收录于专栏《Python等级认证CCF-GESP真题解析》&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 一、单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 第 1 题 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证…

云动态摘要 2024-07-07

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新优惠与活动 数据库上云优选 阿里云 2024-07-04 RDS、PolarDB、Redis、MongoDB 全系产品新用户低至首年6折起! [免费体验]智能助手ChatBI上线 腾讯云 2024-07-02 基于混元大模型打造,可通过对话方式生成可视化…

说一说null 和 undefined 的区别,如何让一个属性变为null

共同点 null和undefined是JavaScript中的两个基本数据类型 不同点 undefined&#xff1a;这个值表示变量已声明但还没被赋值。 null&#xff1a;这个值表示空值或无值&#xff0c;通常用于手动置一个变量为空 要将一个属性设置为null&#xff0c;你可以直接给属性赋值 let…

18_特征金字塔网络FPN结构详解

1.1 简介 在深度学习领域&#xff0c;尤其是计算机视觉和目标检测任务中&#xff0c;Feature Pyramid Networks (FPN) 是一种革命性的架构设计&#xff0c;它解决了多尺度特征检测和融合的关键问题。FPN最初由何凯明等人在2017年的论文《Feature Pyramid Networks for Object …

保护您的数据:应对MKP勒索病毒的有效策略

导言&#xff1a; 在当今数字化时代&#xff0c;.mkp勒索病毒等恶意软件已经成为广泛存在的安全威胁&#xff0c;对个人用户和企业的数据安全构成了严峻挑战。本文将探讨.mkp勒索病毒的特点、传播方式以及创新的应对策略&#xff0c;旨在帮助读者更有效地应对这一威胁。如不幸…

Python面试题:请解释什么是模块和包,并描述它们的区别

在 Python 中&#xff0c;模块&#xff08;module&#xff09;和包&#xff08;package&#xff09;是组织和管理代码的两种方式。它们帮助开发者创建结构化、可维护和可复用的代码。 模块&#xff08;Module&#xff09; 模块是包含 Python 代码的文件&#xff0c;扩展名为 …

ansible常见问题配置好了密码还是报错

| FAILED! > { “msg”: “Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host’s fingerprint to your known_hosts file to manage this host.” } 怎么解决&#xf…

Stable Diffusion图像的脸部细节控制——采样器全解析

文章目录 艺术地掌控人物形象好易智算原因分析为什么在使用Stable Diffusion生成全身图像时&#xff0c;脸部细节往往不够精细&#xff1f; 解决策略 局部重绘采样器总结 艺术地掌控人物形象 在运用Stable Diffusion这一功能强大的AI绘图工具时&#xff0c;我们往往会发现自己…

ESP32 步进电机精准控制:打造高精度 DIY 写字机器人,实现流畅书写体验

摘要: 想让你的 ESP32 不再仅仅是控制灯光的工具吗&#xff1f; 本文将带你使用 ESP32 开发板、步进电机和简单的机械结构打造一个能够自动写字的机器人。我们将深入浅出地讲解硬件连接、软件代码以及控制逻辑&#xff0c;并提供完整的项目代码和电路图&#xff0c;即使是 Ardu…

在mac下 Vue2和Vue3并存 全局Vue2环境创建Vue3新项目(Vue cli2和Vue cli4)

全局安装vue2 npm install vue-cli -g自行在任意位置创建一个文件夹vue3&#xff0c;局部安装vue3,注意不要带-g npm install vue/cli安装完成后&#xff0c;进入目录&#xff0c;修改vue为vue3 找到vue3/node-moudles/.bin/vue&#xff0c;把vue改成vue3。 对环境变量进行配置…

linux修改内核实现禁止被ping(随手记)

概述 Linux默认允许被ping。其主要决定因素为&#xff1a; 内核参数防火墙&#xff08;iptables/firewall&#xff09; 以上的决定因素是与的关系&#xff0c;即需要均满足。 因此&#xff0c;修改linux禁被ping有以上两种方法可以实现。 修改内核文件使禁ping 1. 临时生…

Windows环境安装Redis和Redis Desktop Manager图文详解教程

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Redis概述 Redis是一个开源的高性能键值对数据库&#xff0c;以其卓越的读写速度而著称&#xff0c;广泛用于数据库、缓存和消息代理。它主要将数据存储在内存中&#xff0…

C++初学者指南-5.标准库(第一部分)--迭代器

C初学者指南-5.标准库(第一部分)–迭代器 Iterators 文章目录 C初学者指南-5.标准库(第一部分)--迭代器 Iterators1.默认正向迭代器2.反向迭代器3.基于迭代器的循环4.示例&#xff1a;交换相邻的一对元素5.迭代器范围6.迭代器范围中的元素数量7. 总结&#xff1a;迭代器 指向某…

护网在即,知攻善防助力每一位安服仔~

前言 是不是已经有师傅进场了呢~ 是不是有安服&#x1f412;在值守呢~ 您是不是被网上眼花缭乱的常用应急响应工具而烦恼呢&#xff1f; 何以解忧&#xff1f;唯有知攻善防&#xff01; 创作起源&#xff1a; 驻场、护网等&#xff0c;有的客户现场只允许用客户机器&…

Python网络爬虫:Scrapy框架的全面解析

Python网络爬虫&#xff1a;Scrapy框架的全面解析 一、引言 在当今互联网的时代&#xff0c;数据是最重要的资源之一。为了获取这些数据&#xff0c;我们经常需要编写网络爬虫来从各种网站上抓取信息。Python作为一种强大的编程语言&#xff0c;拥有许多用于网络爬虫的工具和库…

puppeteer 爬虫初探

1. puppeteer 和 puppeteer-core 安装 puppeteer 会默认下载一个最新版本的 chrome 浏览器&#xff1b; 安装 puppeteer-core &#xff0c;不会安装 chrome, 若要程序打开浏览器运行时&#xff0c;需手动指定电脑系统安装的 chrome 浏览器路径&#xff1b; 2. puppeteer-core …