当前位置: 首页 > news >正文

Vue+jquery+jquery.maphilight实现图片热区高亮以及点击效果

//鼠标悬浮效果
mounted() {this.setCurrentTask(0);
//对于id为mapAll的热区图,设置鼠标放置在上面有一个颜色 fillColor填充颜色 strokeColor边框颜色 strokeWidth边框宽度 fillOpacity 是设置热区填充颜色的不透明度的属性。 alwaysOn:true 保持常量$(function() {$('#mapAll').maphilight({fillColor: 'ff0000',strokeColor: "FFFFFF",strokeWidth: 3,fillOpacity: 0.6,});});
},
//点击效果
handleHighlight(id) {const escapedId = id;const $element = $(`#${escapedId}`);const data = $element.mouseout().data('maphilight') || {};data.alwaysOn = true;data.fillColor = "feeeed";$element.data('maphilight', data).trigger('alwaysOn.maphilight');setTimeout(() => {const data = $element.mouseout().data('maphilight') || {};data.fillColor = "ff0000";data.alwaysOn = false;$element.data('maphilight', data).trigger('alwaysOn.maphilight');}, 300);
},

好的设计思路:

​
<template><div><!-- Task Display --><div><h2>Task {{ currentTask.id }}: {{ currentTask.name }}</h2><p>{{ currentTask.details }}</p><img ref="mapAll" id="mapAll" src="../../assets/images/JIESHOUJI.png" usemap="#image-map"><map v-if="currentHotspots" name="image-map"><area v-for="(area, index) in currentHotspots" :key="index" :id="area.id" :title="area.title" :coords="area.coords" :shape="area.shape" @click="handleClick(area)"></map></div><!-- Global Navigation Buttons --><div><button @click="previousTask" :disabled="currentTaskIndex === 0">Previous</button><button @click="nextTask" :disabled="currentTaskIndex === tasks.length - 1">Next</button></div></div>
</template><script>
import $ from "jquery"
import 'jquery/dist/jquery.maphilight'export default {data() {return {tasks: [{id: 1,name: '开始实验',details: '按On->显示自检->出现屏幕',hotspots: [{ id: 1, alt: 'Power', title: 'Power', coords: '133,34,178,86', shape: 'rect' },{ id: 2, alt: 'LockTest', title: 'LockTest', coords: '1059,150,1096,205', shape: 'rect' }]}// Add more tasks here if needed],currentTaskIndex: 0,currentTask: {},currentHotspots: []};},methods: {setCurrentTask(index) {// Set current task and associated hotspotsthis.currentTaskIndex = index;this.currentTask = this.tasks[index];this.currentHotspots = this.currentTask.hotspots;},previousTask() {// Display previous taskif (this.currentTaskIndex > 0) {this.setCurrentTask(this.currentTaskIndex - 1);}},nextTask() {// Display next taskif (this.currentTaskIndex < this.tasks.length - 1) {this.setCurrentTask(this.currentTaskIndex + 1);}},handleClick(area) {// Handle click event for hotspotconsole.log('Clicked hotspot:', area);this.handleHighlight(area.id)// Add your custom logic here},// maplight处理按钮特效handleHighlight(id) {const $element = $(`#${id}`);const data = $element.mouseout().data('maphilight') || {};data.alwaysOn = true;data.fillColor = "feeeed";$element.data('maphilight', data).trigger('alwaysOn.maphilight');// 使用 setTimeout 来延迟还原状态setTimeout(() => {const data = $element.mouseout().data('maphilight') || {};data.fillColor = "ff0000";data.alwaysOn = false;$element.data('maphilight', data).trigger('alwaysOn.maphilight');}, 300);},},mounted() {// Initialize current task and hotspotsthis.setCurrentTask(0);// 对于id为mapAll的热区图,设置鼠标放置在上面有一个颜色 fillColor填充颜色 strokeColor边框颜色 strokeWidth边框宽度 fillOpacity 是设置热区填充颜色的不透明度的属性。 alwaysOn:true 保持常量$(function() {$('#mapAll').maphilight({fillColor: 'ff0000',strokeColor: "FFFFFF",strokeWidth: 3,fillOpacity: 0.6,});});},
};
</script><style scoped>
/* Add styles for task layout */
</style>​

相关文章:

Vue+jquery+jquery.maphilight实现图片热区高亮以及点击效果

//鼠标悬浮效果 mounted() {this.setCurrentTask(0); //对于id为mapAll的热区图&#xff0c;设置鼠标放置在上面有一个颜色 fillColor填充颜色 strokeColor边框颜色 strokeWidth边框宽度 fillOpacity 是设置热区填充颜色的不透明度的属性。 alwaysOn:true 保持常量$(function(…...

靠谱!朋友圈一键转发和自动转发好友朋友圈

微信朋友圈在生活和工作中扮演着重要的社交和信息传播角色。尤其是对于一些企业来说&#xff0c;朋友圈是不可或缺的推广渠道。 今天就给大家分享一个能够实现一键转发和自动转发好友朋友圈的工具——微信管理系统&#xff0c;让大家都能有效的管理朋友圈。 1、定时发圈&…...

线性顺序表算法库

list.cpp 具体函数实现 #include <stdio.h> #include "list.h" #include <malloc.h>/************************************************** ①函数名: CreateList 功 能: 用数组构建顺序表 参 数: ①SqList *&L:传入的线性表 ②ElemType a[]:使用…...

java分割等和子集(力扣Leetcode416)

分割等和子集 力扣原题链接 给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 示例 1&#xff1a; 输入&#xff1a;nums [1,5,11,5] 输出&#xff1a;true 解释&#xff1a;数组可以分割成 [1, 5, 5] …...

383. 赎金信

给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&#xff0c;返回 true &#xff1b;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 func canConstruct(ransomNote …...

【二】【单片机】有关独立按键的实验

自定义延时函数Delay 分别用Delay.c文件存储Delay函数。用Delay.h声明Delay函数。每次将这两个文件复制到工程中&#xff0c;直接使用。 //Delay.c void Delay(unsigned int xms) //11.0592MHz {while(xms--){unsigned char i, j;i 2;j 199;do{while (--j);}…...

AJAX踩坑指南(知识点补充)

JWT JSON Web Token是目前最为流行的跨域认证解决方案 如何获取&#xff1a;在使用JWT身份验证中&#xff0c;当用户使用其凭据成功登录时&#xff0c;将返回JSON Web Token(令牌&#xff09; Token本质就是一个包含了信息的字符串 如何获取Token:登录成功之后&#xff0c;服务…...

备战蓝桥杯Day29 - 拼接最大数字问题

问题描述 有n个非负整数&#xff0c;将其按照字符串拼接的方式拼接为一个整数如何拼接可以使得得到的整数最大? 例: 32,94,128,1286,6,71可以拼接除的最大整数为 94716321286128。 问题思路 1.比较两个字符串的第一个数字&#xff0c;数值大的在前面&#xff0c;数值小的在…...

基于springboot的mysql实现读写分离

前言: 首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的手段&#xff1f;常用的有以下的实现方法:读写分离、加缓存、主从架构集群、分库分表等&#xff0c;在互联网应用中,大部分都是读多写少的场景,设置两个库,主库和读库,主库的职能是负责写,从库主要是负责读…...

Python爬虫之Scrapy框架系列(24)——分布式爬虫scrapy_redis完整实战【XXTop250完整爬取】

目录&#xff1a; 每篇前言&#xff1a;1.使用分布式爬取豆瓣电影信息&#xff08;1&#xff09;settings.py文件中的配置&#xff1a;&#xff08;2&#xff09;spider文件的更改&#xff1a;&#xff08;3&#xff09;items.py文件&#xff08;两个项目一致&#xff01;&…...

提升效率,稳定可靠:亚信安慧AntDB的企业价值

亚信安慧AntDB分布式数据库凭借平滑扩展、高可用性和低成本三大核心优势&#xff0c;在业界获得了极高的评价和认可。这些优点不仅为AntDB提供了巨大的市场发展潜力&#xff0c;也使其成为众多企业在数据管理上的首选解决方案。 AntDB的平滑扩展特性极大地提升了企业的灵活性和…...

洛谷入门——P1567 统计天数

统计天数 题目描述 炎热的夏日&#xff0c;KC 非常的不爽。他宁可忍受北极的寒冷&#xff0c;也不愿忍受厦门的夏天。最近&#xff0c;他开始研究天气的变化。他希望用研究的结果预测未来的天气。 经历千辛万苦&#xff0c;他收集了连续 N ( 1 ≤ N ≤ 1 0 6 ) N(1 \leq N …...

C++概述

目录 一、C关键字&#xff08;63个&#xff09; 二、C几个关键点&#xff1a; 三、C语言缺陷一&#xff1a;命名冲突 四、C新概念&#xff1a;命名空间&#xff08;namespace&#xff09; 五、命名空间的嵌套&#xff1a; 六、展开命名空间&#xff1a;&#xff08;using …...

Linux学习笔记16 - 系统命令

1. Linux 常见系统管理命令 命令含义格式su切换用户su [选项] [用户名]ps显示系统由该用户运行的进程列表ps [选项]top动态显示系统中运行的程序&#xff08;一般为每隔 5s&#xff09;topkill输出特定的信号给指定 PID&#xff08;进程号&#xff09;的进程&#xff0c;并根据…...

读书笔记--阅读华为数据治理之旅有感

通过阅读华为的数据治理之旅,了解到华为公司作为高科技企业的引领者,在数据治理工作、数字化智能化转型方面的确有许许多多值得大家学习的地方,华为公司的业务范围广泛,市场竞争压力大,迫切需要用一些高效的手段来减轻员工的工作量,让员工各司其职,在各自承担的主营业务…...

网络安全协议基本问题

Http和Https协议的端口号&#xff1a; Http&#xff1a;80 Https&#xff1a;443 网络监听&#xff1a; 网络监听是一种监视网络状态、数据流程以及网络上信息传输的工具&#xff0c;它可以将网络界面设定成监听模式&#xff0c;并且可以截获网络上所传输的信息。但是网络监…...

面试(一)

一. 说一下进程和线程的区别&#xff1f; (1)进程是资源分配的最小单位&#xff0c;线程是CPU调度的最小单位。 (2)线程是进程的一部分&#xff0c;一个线程只能属于一个进程&#xff0c;一个进程可以有多个线程&#xff0c;但至少有一个线程。 (3)进程有自己独立地址空间&a…...

libVLC windows开发环境搭建

1.简介 LibVLC是一个强大的开源库&#xff0c;它构成了VLC媒体播放器的核心部分。 LibVLC提供了一系列的功能接口&#xff0c;使得VLC能够处理流媒体的接入、音频和视频输出、插件管理以及线程系统等核心任务。 跨平台性&#xff1a;VLC作为一个跨平台的多媒体播放器&#x…...

【Netty】Netty的使用和常用组件详解

目录 一、简述 1.1 什么是Netty 1.2 Netty 的优势 1.3 为什么不用 Netty5&#xff1f; 1.4 为什么 Netty 使用 NIO 而不是 AIO&#xff1f; 1.5 为什么不用 Mina&#xff1f; 二、第一个 Netty 程序 2.1 Bootstrap、EventLoop(Group) 、Channel 2.1.1 Bootstrap 2.1.…...

Legacy|电脑Windows系统如何迁移到新安装的硬盘?系统迁移详细教程!

前言 前面讲了很多很多关于安装系统、重装系统的教程。但唯独没有讲到电脑换了新的硬盘之后&#xff0c;怎么把旧系统迁移到新的硬盘上。 今天小白就来跟各位小伙伴详细唠唠&#xff1a; 开始之前需要把系统迁移的条件准备好&#xff0c;意思就是在WinPE系统下&#xff0c;可…...

基于Qt的LongCat-Image-Editn V2桌面应用开发

基于Qt的LongCat-Image-Editn V2桌面应用开发 1. 引言 在日常工作中&#xff0c;我们经常需要对图片进行各种编辑操作&#xff0c;比如修改文字、调整风格、替换背景等。传统的图片编辑工具往往操作复杂&#xff0c;需要专业的设计技能&#xff0c;而且处理中文文字时效果总是…...

如何用IronyModManager高效解决Paradox游戏模组冲突的3个关键策略

如何用IronyModManager高效解决Paradox游戏模组冲突的3个关键策略 【免费下载链接】IronyModManager Mod Manager for Paradox Games. Official Discord: https://discord.gg/t9JmY8KFrV 项目地址: https://gitcode.com/gh_mirrors/ir/IronyModManager Paradox Interact…...

OpenEMR一体化医疗管理解决方案:实现高效合规的电子病历系统

OpenEMR一体化医疗管理解决方案&#xff1a;实现高效合规的电子病历系统 【免费下载链接】openemr The most popular open source electronic health records and medical practice management solution. 项目地址: https://gitcode.com/GitHub_Trending/op/openemr 在医…...

实战分享:如何用YOLOv5+SpringBoot打造化工安全火苗检测系统(附完整代码)

工业级AI实战&#xff1a;YOLOv5与SpringBoot构建智能火情预警系统 化工行业对安全生产的严苛要求&#xff0c;使得传统人工监控方式面临巨大挑战。我们团队在多个工业场景中验证了一套基于YOLOv5与SpringBoot的智能火情检测方案&#xff0c;其核心在于将前沿目标检测技术与企业…...

如何快速定制你的QQ体验:终极插件框架指南

如何快速定制你的QQ体验&#xff1a;终极插件框架指南 【免费下载链接】LiteLoaderQQNT_Install 针对 LiteLoaderQQNT 的安装脚本 项目地址: https://gitcode.com/gh_mirrors/li/LiteLoaderQQNT_Install 还在为QQNT桌面端的功能限制而感到困扰吗&#xff1f;想要为你的Q…...

WAN2.2文生视频+SDXL Prompt风格保姆级教程:零基础5分钟生成你的第一段AI视频

WAN2.2文生视频SDXL Prompt风格保姆级教程&#xff1a;零基础5分钟生成你的第一段AI视频 1. 教程目标与准备工作 1.1 你能学到什么 通过本教程&#xff0c;你将掌握&#xff1a; 如何在5分钟内完成WAN2.2文生视频环境的搭建使用中文提示词直接生成高质量视频的完整流程SDXL…...

玄机靶场实战:从应急响应到vulntarget-j-02的攻防解析

1. 玄机靶场与应急响应实战入门 第一次接触玄机靶场时&#xff0c;我被它高度仿真的企业内网环境震撼到了。这个基于Docker构建的靶场平台完美复现了企业常见的Windows服务器、Web应用和数据库服务&#xff0c;甚至连日志记录和行为特征都和真实环境一模一样。对于想学习网络安…...

张雪峰被蒸馏永生引争议!有人支持,但很多人不看好

①张雪峰刚离世不久&#xff0c;GitHub 上就出现了多个「张雪峰.skill」。先有位开发者收集了张雪峰生前的 5 本著作、十余条深度采访、30 余条语录及多个关键决策记录&#xff0c;提炼出其独特的咨询风格、决策逻辑与表达方式&#xff0c;将其打包为一款 AI 智能体技能文件。后…...

思源宋体终极指南:7种免费商用字体助你提升设计品质

思源宋体终极指南&#xff1a;7种免费商用字体助你提升设计品质 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为商业项目寻找高质量中文字体而烦恼吗&#xff1f;思源宋体这款由…...

如何快速导出微信聊天记录:WeChatExporter终极免费方案指南

如何快速导出微信聊天记录&#xff1a;WeChatExporter终极免费方案指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾经担心过珍贵的微信聊天记录会因为手机丢…...