VUE map area coords自适应

2023-11-17

<template>
  <div class="imgBox">
    <img ref="img" :src="imgUrl" alt="" usemap="#controlmap">
    <map name="controlmap">
      <area ref="oil" shape="poly" :coords="coordsArr[0]" @click="enter('oil')"/>
      <area ref="ele" shape="poly" :coords="coordsArr[1]" @click="enter('ele')"/>
    </map>
  </div>
</template>

<script>
import CON from '@conf/index'

export default {
  data () {
    return {
      imgUrl: require('@/assets/control.png'),
      coords: ['0,0,878,0,245,818,0,818', '878,0,1200,0,1200,818,245,818'],
      radioArr: [],
      coordsArr: []
    }
  },
  created () {
    this.radioArr = this.coords.map(str => {
      return str.split(',').map((item, index) => {
        if (index % 2 === 0) {
          return parseInt(item) / 1200 // 图片宽度
        } else {
          return parseInt(item) / 818 // 图片高度
        }
      })
    })
  },
  mounted () {
    window.onresize = () => {
      const imgWidth = this.$refs.img.width
      const imgHeight = this.$refs.img.height

      this.coordsArr = this.radioArr.map(arr => {
        return arr.map((item, index) => {
          if (index % 2 === 0) {
            return Math.round(imgWidth * item)
          } else {
            return Math.round(imgHeight * item)
          }
        })
      })
    }
    window.onresize()
  },
  methods: {
    enter (val) {
      switch (val) {
        case 'oil':
          this.$router.push({ path: '/user/connect', query: { code: 31 } })
          break
        case 'ele':
          window.location.href = `${CON.KD_URL}/user/connect`
          break
      }
    }
  }
}
</script>

<style lang="less" scoped>
.imgBox {
  img {
  width: 100%;
  height: calc(100vh - 100px);
  background-size: cover;
  }
  map {
    area {
      cursor: pointer;
    }
  }
}
</style>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VUE map area coords自适应 的相关文章

随机推荐

  • egg-jwt egg jwt 使用

    1 安装egg jwt npm install egg jwt save 2 配置 config plugin ts import EggPlugin from egg const plugin EggPlugin jwt enable t
  • MySQL数据库之DDL操作

    1 数据库管理系统的一些常用术语 学习数据库首先要清楚数据库的一些常用术语 行 又叫做记录 每一行都是一组相关的数据 列 又叫做字段 每一列都是一组数据类型相同数据 主键 是唯一的 在一张数据表中只有一个主键 且不能为空 外键 主要用于关联
  • 【牛客101】06,07判断链表中是否有环,找到环的入口

    文章目录 1 判断是否有环 1 1 题目描述 1 2 题目分析 1 3 代码讲解 2 找到环的入口 2 1 题目描述 2 2 问题分析 2 3 代码详解 1 判断是否有环 1 1 题目描述 判断给定的链表中是否有环 如果有环则返回true
  • JAVA中“+”加号用法总结及注意事项

    用法总结 1 若加号左右两边都是数值型时 做的是加法运算 2 若加号左右两边有任一方是非数值型时 做的都是拼接运算 注意事项 若加号左右两侧为方法名时将各方法结果输出后拼接打印 lo setAge 18 lo setName lou Sys
  • 关闭套接字close还是shutdown

    close 这个函数会对套接字引用计数 1 一旦发现引用计数到0 就会对套接字进行彻底释放 并且会关闭tcp两个方向的数据流 因为套接字可以被多个进程共享 你可以理解为我们给每个套接字都设置了一个积分 如果我们通过fork的方式创建了子进程
  • 软件工程导论习题

    软件工程是软件工程专业的一门重要学科 掌握好软件工程原理是开发软件的重要基础知识 本博客对软件工程导论部分习题解释 以更加深理解 选择 1 业界存在三种需求分析方法 面向功能分析 面向对象分析和 B A 面向算法分析 B 面向数据分析 C
  • 使用ESP定律_手工脱壳

    ESP定律脱壳一般的加壳软件在执行时 首先要初始化 保存环境 保存各个寄存器的值 一般利用PUSHAD 相当于把所有寄存器都压栈 当加壳程序的外壳执行完毕以后 再来恢复各个寄存器的内容 通过跨区段的转移来跳到程序的OEP来执行原程序 简单点
  • lr(1)分析法 算数表达式 c语言,编译原理及技术期末考试复习试题整理

    2 1 考虑文法G S 其产生式如下 S L a L L S S 1 试指出此文法的终结符号 非终结符号 终结符号为 a 非终结符号为 S L 开始符号为 S 2 给出下列各句子的分析树 a a a a a a a a a a 3 构造下列
  • Ubuntu20.04 开机无法进入登陆界面,一致转圈圈解决方案

    昨天把一个新的主机装了显卡驱动 cudnn没装完就关机走人了 今天早上一开机发现显示了这个 我没拍照片 这里盗用别的博主的照片了 搜了一下 本着能省则省的原则先从最简单的情况试起 怀疑是Lightdm出了问题 借用一下博主原话 是安装了li
  • 机器视觉开源代码集合

    机器视觉开源代码集合 一 特征提取Feature Extraction SIFT 1 Demo program SIFT Library VLFeat PCA SIFT 2 Project Affine SIFT 3 Project SUR
  • (struts2学习篇)struts2文件上传

    第一步 编写相关相关文件上传Action public class UploadFileAction extends ActionSupport private static final long serialVersionUID 1L 相
  • Hive千亿级数据倾斜解决方案

    数据倾斜问题剖析 数据倾斜是分布式系统不可避免的问题 任何分布式系统都有几率发生数据倾斜 但有些小伙伴在平时工作中感知不是很明显 这里要注意本篇文章的标题 千亿级数据 为什么说千亿级 因为如果一个任务的数据量只有几百万 它即使发生了数据倾斜
  • 十种经典运放电路分析

    转载十一种经典运放电路分析 本文章为转载文章 只是为以后方便查阅 如有侵权 请联系本人 1 反向放大器 图一运放的同向端接地 0V 反向端和同向端虚短 所以也是0V 反向输入端输入电阻很高 虚断 几乎没有电流注入和流出 那么R1和R2相当于
  • python解决Net Frameword匹配问题及Failed building wheel for XXX

    文章目录 1 背景 2 错误描述 2 1 错误关键语句 1 2 2 错误关键语句 2 2 3 错误关键语句 3 3 原因 4 解决问题 5 总结 6 参考链接 1 背景 计划使用NI veristand的python依赖包 但是在安装的过程
  • 算法设计与分析--求最大子段和问题(蛮力法、分治法、动态规划法) C++实现

    算法设计与分析 求最大子段和问题 问题描述 给定由n个整数组成的序列 a1 a2 an 求该序列形如 的子段和的最大值 当所有整数均为负整数时 其最大子段和为0 利用蛮力法求解 int maxSum int a int n int maxS
  • openGauss和oracle的上下翻命令和自动补全

    openGauss的gsql需要加参数 r 才能支持上下翻命令和自动补全 gsql d postgres p 15400 r oracle的sqlplus也不支持上下翻命令和自动补全 使用rlwrap可以实现上下翻命令 但是还是不能实现自动
  • Could not load dynamic library ‘cudart64_110.dll‘; dlerror: cudart64_110.dll not found

    Could not load dynamic library cudart64 110 dll dlerror cudart64 110 dll not found 报错如下 解决方法1 不推荐 对后续使用影响大 解决方法2 验证代码 输出
  • python拼接两个或者多个视频文件

    拼接不同分辨率的视频文件 import os import linecache 读取指定路径下的所有文件并放入到列表中 root workspace videos codec videos codec evp test h264 file
  • 【毕设选题】小红书数据分析与可视化

    文章目录 0 前言 1 课题背景 2 数据库依赖 导入依赖包 3 分析服饰行业笔记数据趋势数据 3 1数据一览 3 2 可视化分析 3 3 可视化分析 4 分析服饰行业内容关键词数据 4 1 数据一览 4 2 可视化分析 5 分析服饰行业品
  • VUE map area coords自适应