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

vue实现5*5宫格当鼠标滑过选中的正方形背景颜色统一变色

vue实现5*5宫格当鼠标滑过选中的正方形背景颜色统一变色

1、实现的效果
在这里插入图片描述

2、完整代码展示

<template><div id="app" @mouseleave="handleMouseLeave({row: 0, col: 0 })"><div v-for="rowItem in squareNumber" :key="rowItem"><div class="row-list"><div v-for="colItem in squareNumber" :key='colItem' :class="['col-item', `${rowItem}-${colItem}`]" @mouseenter="handleMouseEnter({row: rowItem, col:colItem })"@mouseleave="handleMouseLeave({row: rowItem, col:colItem })"></div></div></div></div>
</template><script>export default {data() {return {squareNumber: 5}},methods: {handleMouseEnter(obj) {const {row, col} = obj;for(let rowItem = 1; rowItem <= row; rowItem++ ) {for(let colItem = 1; colItem <= col; colItem ++) {const element = document.getElementsByClassName(`${rowItem}-${colItem}`);if(element) {Array.from(element).forEach(item => {item.style.background = 'red';})}}}},handleMouseLeave(obj) {const {row, col} = obj;for(let rowItem = 1; rowItem <= this.squareNumber; rowItem++ ) {for(let colItem = 1; colItem <= this.squareNumber; colItem ++) {const element = document.getElementsByClassName(`${rowItem}-${colItem}`);if(element) {Array.from(element).forEach(item => {item.style.background = 'none';})}}};if(!row || !col) {this.handleMouseEnter({row: row - 1, col: col - 1})}}}
}
</script><style>
#app {border-top:1px solid black;border-left: 1px solid black;
}
.row-list {display: flex;
}
.col-item {width: 30px;height: 30px;border-right: 1px solid black;border-bottom: 1px solid black;
}
</style>

以上代码粘贴赋值即可使用

http://www.lryc.cn/news/117825.html

相关文章:

  • 2023-08-09 LeetCode每日一题(整数的各位积和之差)
  • EditPlus连接Linux系统远程操作文件
  • JVM 垃圾回收
  • 编程中的宝藏:二分查找
  • 计算机网络 数据链路层
  • 如何维护自己的电脑
  • 智能优化算法——哈里鹰算法(Matlab实现)
  • 【深度学习】多粒度、多尺度、多源融合和多模态融合的区别
  • 利用SCCM进行横向移动
  • Nginx 负载均衡
  • Java课题笔记~ ServletConfig
  • oracle的异常处理
  • 【MySQL】MySQL数据类型
  • 【数据结构与算法】十大经典排序算法-希尔排序
  • docker 常用命令
  • uniapp微信小程序中打开腾讯地图获取用户位置信息
  • 嵌入式领域:人才供需失衡,发展潜力巨大
  • python 书籍
  • Debian纯净系统安装php常用扩展和程序
  • vue+element中如何设置单个el-date-picker开始时间和结束时间关联
  • 二次封装ajax和axios
  • Android进阶之SeekBar动态显示进度
  • 企业计算机服务器中了locked勒索病毒怎么办,如何预防勒索病毒攻击
  • 大麦订单截图 一键生成订单截图
  • LLaMA长度外推高性价比trick:线性插值法及相关改进源码阅读及相关记录
  • 中国信息安全测评中心CISP家族认证一览
  • 牛客网【面试必刷TOP101】~ 06 递归/回溯
  • ArcGIS Pro基础:【划分】工具实现等比例、等面积、等宽度划分图形操作
  • 括号匹配问题:栈的巧妙应用与代码优化【栈、优化、哈希表】
  • vue项目正确使用样式deep穿透