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

织梦网站栏目上海网站设计知名乐云seo

织梦网站栏目,上海网站设计知名乐云seo,天津武清做淘宝网站,长春建设局网站处长Vue3鼠标拖拽生成区域块并选中元素&#xff0c;选中的元素则背景高亮(或者其它逻辑)。 <script setup> import { ref } from vue// 区域ref const regionRef ref(null)// 内容ref const itemRefs ref(null)// 是否开启绘画区域 const enable ref(false)// 鼠标开始位置…

Vue3鼠标拖拽生成区域块并选中元素,选中的元素则背景高亮(或者其它逻辑)。

在这里插入图片描述

<script setup>
import { ref } from 'vue'// 区域ref
const regionRef = ref(null)// 内容ref
const itemRefs = ref(null)// 是否开启绘画区域
const enable = ref(false)// 鼠标开始位置
const start = ref({x: 0,y: 0
})// 区域块元素配置
const regionConfig = ref({top: '0px',left: '0px',width: '0px',height: '0px'
})// 鼠标点击
const onMousedown = (e) => {const { pageX, pageY } = estart.value.x = pageXstart.value.y = pageYregionConfig.value.top = pageY + 'px'regionConfig.value.left = pageX + 'px'enable.value = true
}// 鼠标弹起
const onMouseup = () => {enable.value = false
}// 鼠标移动
const onMousemove = (e) => {if (!enable.value) return falseconst { pageX, pageY } = e// 当前鼠标移动的位置减开始位置得到区域块宽高const x = pageX - start.value.xconst y = pageY - start.value.yregionConfig.value.width = Math.abs(x) + 'px'regionConfig.value.height = Math.abs(y) + 'px'// 鼠标移动的位置小于开始位置,当前鼠标的位置是区域块的位置if (x < 0) {regionConfig.value.left = pageX + 'px'}if (y < 0) {regionConfig.value.top = pageY + 'px'}// 获取区域块和内容的位置const boxRect = regionRef.value.getBoundingClientRect()itemRefs.value.forEach((item) => {const rect = item.getBoundingClientRect()// 判断区域块包裹内容元素则改变背景颜色if (boxRect.top <= rect.top && boxRect.bottom >= rect.bottom && boxRect.left <= rect.left && boxRect.right >= rect.right) {item.style.backgroundColor = 'rgb(10, 228, 10)'} else {item.style.backgroundColor = '#cbccce'}})
}
</script><template><mainclass="w_h_100 home"@mousedown="onMousedown"@mouseup="onMouseup"@mousemove="onMousemove"><div class="box"><divref="itemRefs"class="item"v-for="item in 10":key="item">{{ item }}</div></div><divref="regionRef"class="region":style="regionConfig"></div></main>
</template><style lang="less">
.home {display: flex;align-items: center;justify-content: center;.box {width: 200px;display: flex;flex-wrap: wrap;}.item {margin-right: 10px;margin-bottom: 10px;width: 30px;height: 30px;color: #fff;text-align: center;line-height: 30px;background-color: #cbccce;user-select: none;}.region {position: fixed;z-index: 10;border: 1px solid #0094ff;background-color: rgba(0, 148, 255, 0.1);}
}
</style>
http://www.yayakq.cn/news/267110/

相关文章:

  • 网站建设kaodezhu微分销是什么意思
  • 网站重建做设计找素材那个网站最好用
  • 恒基建设集团网站asp网站例子
  • 成都市城乡建设网站WordPress 后台反应好慢
  • 珠海网站怎样建设创建购物网站
  • 如何做好网站建设销售合肥企业网站建设哪个好
  • 网站改版建设原则宝应县建设工程信息网
  • 哪些网站可以做go注释百度新闻头条
  • 网站推广策划的思路包括哪些品牌营销推广方案怎么做
  • 广州建设工程造价管理站网站建设方案书组网方案
  • 免费素材视频网站wordpress相对地址
  • 美食网站模板下载上海外贸
  • 做外汇必须要网站wordpress 单页分类
  • 软件定制开发网站建设做外汇关注的网站
  • 做网站用什么开发工具好做的网站 v2ex
  • 建设银行 商户网站打不开网站建设网站需要什么软件
  • 机械公司网站模板wordpress录入表单写数据库
  • 华为外包做的网站wordpress 模板 使用
  • 网站开发后端指什么北京到安阳高速费多少钱
  • vs做网站不显示图片微信公众平台开发者文档
  • 晋中网站建设费用济南公司网站推广优化最大的
  • 丹阳做网站的南充房产管理网
  • 网站模板带后台 下载申请制作网站
  • 网站优惠券怎么做的好牛网站建设
  • 别人网站建设多少钱wordpress 页面 文章 区别
  • 泰顺网站建设做网站的公司怎么做业务
  • 牡丹江林口县建设局网站站内关键词排名优化软件
  • 做网站一般图片的比例长沙优化网站推广
  • 长沙网站开发流程软件开发培训机构培训出来的
  • 网站建设頰算什么是企业