js实现移动蒙版层

移动蒙版层

可在整个页面拖动方块,但方块不能超出页面

在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>移动蒙版层案例</title><style>* {margin: 0;padding: 0;}body {position: relative;}.container {position: relative;top: 10px;left: 10px;width: 800px;height: 800px;background-color: #368;}.mask {position: absolute;width: 400px;height: 280px;padding: 20px;background-color: #690;box-shadow: 0 0 8px #222;cursor: move;}</style>
</head><body><div class="mask"></div><script src='js/common.js'></script><script>var oMask = $('.mask')var eventTypeMap = {isDown : false,startPos : {x : 0,y : 0,left : 0,top : 0},targetEle : null,limit : {maxLeft :window.innerWidth - oMask.offsetWidth,maxTop : window.innerHeight - oMask.offsetHeight,},'mousedown': function (e) {this.isDown = truethis.targetEle = e.targetthis.startPos.x = e.clientX,this.startPos.y = e.clientYthis.startPos.left = getPosition(oMask).leftthis.startPos.top = getPosition(oMask).top},'mousemove': function (e) {if(this.isDown === true) {var diffX = e.clientX - this.startPos.xvar diffY = e.clientY - this.startPos.yvar diffLeft = this.startPos.left + diffXvar diffTop = this.startPos.top + diffYdiffLeft = Math.max(0, diffLeft)diffLeft = Math.min(this.limit.maxLeft, diffLeft)diffTop = Math.max(0, diffTop)diffTop = Math.min(this.limit.maxTop, diffTop)setStyle(oMask, {top : diffTop + 'px',left : diffLeft + 'px',})if (e.clientX < 0 || e.clientY < 0) {isDown = false;}}},'mouseup': function (e) {this.isDown = falsethis.targetEle = null},}oMask.addEventListener('mousedown' , drawEle, false)document.addEventListener('mousemove' , drawEle, false)document.addEventListener('mouseup' , drawEle, false)function drawEle (e) {if(eventTypeMap[e.type] && typeof eventTypeMap[e.type] === 'function') {eventTypeMap[e.type](e)}}</script>
</body></html>

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

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

相关文章

阿里巴巴开源自然语音交互框架;在抱抱脸上使用LivePortrait;58种提示技术的工具库

✨ 1: FunAudioLLM FunAudioLLM是一个为人类和大型语言模型&#xff08;LLMs&#xff09;之间自然语音交互打造的语音理解和生成基础框架。 FunAudioLLM 是阿里巴巴集团Tongyi SpeechTeam推出的用于增强人类与大语言模型&#xff08;LLM&#xff09;自然语音交互的框架。该框…

去中心化 RAG 先行者,KIP Protocol 如何保护数据所有权、激活 AI 资产

AI 时代&#xff0c;人人都应实现 KnowledgeFi 的梦想或许并不遥远&#xff0c;KIP Protocol 正在生动践行这一价值理念&#xff0c;带动去中心化数字产权的创建与盈利&#xff0c;面向 CryptoAI 的蓝海市场迈出创新探索的技术步伐&#xff0c;朝着 Web3 行业打造去中心化 AI 的…

python:使用openpyxl模块处理excel

前言 最近在实践excel的处理&#xff0c;在此途中&#xff0c;我彻底抛弃了xlwt xlrd的组合&#xff0c;投入了openpyxl这一模块的怀抱。 并成功实现了excel单元格数据的快速访问、修改、样式保持&#xff0c;以及添加填充色等功能。 至于为什么写这个博客&#xff0c;主要是因…

前端面试题25(css常用的预处理器)

在前端开发领域&#xff0c;CSS预处理器在面试中经常被提及&#xff0c;其中最流行的三种预处理器是Sass、LESS和Stylus。下面分别介绍它们的特点和优势&#xff1a; 1. Sass&#xff08;Syntactically Awesome Style Sheets&#xff09; 优势&#xff1a; 变量&#xff1a;允…

RK3588开发笔记(四):基于定制的RK3588一体主板升级镜像

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140288662 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

【机器学习】使用决策树分类器预测汽车安全性的研究与分析

文章目录 一、决策树算法简介决策树的结构分类和回归树 (CART)决策树算法术语决策树算法直觉 二、属性选择度量信息增益熵 基尼指数计算分割基尼指数的步骤 三、决策树算法中的过度拟合避免过度拟合的方法 四、导入库和数据可视化探索性数据分析重命名列名查看数据集的总结信息…

python库(8):re库实现字符串处理

1 re库简介 Python 的re库是一个功能强大的正则表达式模块&#xff0c;它允许用户执行各种复杂的字符串匹配和处理任务。 以下是re库的主要功能&#xff1a; 搜索&#xff1a;re.search() 用于搜索字符串中第一次出现的模式。匹配&#xff1a;re.match() 从字符串的开始位置…

ggplot2绘图点的形状不够用怎么办?

群里有这么一个问题&#xff1a; 请问老师&#xff0c;fviz_pca_ind 做pca&#xff0c;当设置geom.ind “point”&#xff0c;group>6时&#xff0c;就不能显示第7&#xff0c;8组的点&#xff0c;应该如何处理&#xff08;在不设置为文本的情况下&#xff09;&#xff0c;…

go-ext-sm2国密PHP扩展 密文指定排序、识别ans1编码等功能

go-ext-sm2 介绍 基于go-gmsm静态库编写的SM2椭圆曲线公钥密码算法PHP扩展 相较于openssl-ext-sm2编译更方便 增加了密文指定排序、识别ans1编码等功能 特性&#xff1a;非对称加密 git地址&#xff1a;https://gitee.com/state-secret-series/go-ext-sm2.git 软件架构 z…

该让医疗垂类大模型,走出“试题”了

图源&#xff1a;123rf “现阶段&#xff0c;许多医疗垂类大模型就是伪命题&#xff0c;推理能力不行。” 一位观望大模型已久的医疗从业者玄彬&#xff08;化名&#xff09;发出了极为尖锐的批评。 在他看来&#xff0c;目前人工智能是靠scaling law涌现的&#xff0c;模型性…

【Icon】矢量图、小图标、logo、资源网站,免费获取

要获取汽车和轮船的UI小图标、矢量图,可以访问以下一些网站,这些网站提供了丰富的图标和矢量图资源,适用于各种设计需求: 1. Flaticon 网站地址:https://www.flaticon.com/ 特点:Flaticon是一个与FreePik同一家公司的网站,专门为设计师找寻免费素材。它提供了大量高质…

【前端】使用chrom浏览器Network,查看前后台数据传输请求

使用chrom浏览器Network查看前后台数据传输请求 写在最前面查看前后台数据传输请求① 首先&#xff0c;打开开发者工具&#xff08;F12&#xff09;打开控制台&#xff0c;切换到Network面板。Network面板右键界面copy ②清空请求log ctrle两次或者点击clear图标 案例展示&…

鸿蒙开发HarmonyOS NEXT (三) 熟悉ArkTs (上)

一、自定义组件 1、自定义组件 自定义组件&#xff0c;最基础的结构如下&#xff1a; Component struct Header {build() {} } 提取头部标题部分的代码&#xff0c;写成自定义组件。 1、新建ArkTs文件&#xff0c;把Header内容写好。 2、在需要用到的地方&#xff0c;导入…

html——VSCode的使用

快捷键 快速生成标签&#xff1a;标签名tab 保存文件&#xff1a;CtrlS 设置自动保存【文件】→【自动保存】 快速查看网页效果&#xff1a;右击→Open in Default Browser 快捷键&#xff1a;altb 注意&#xff1a;必须安装了open in brows…

转载!abap代码规范

01、在增强里面禁止显式或者隐式提交(ZILOG所在函数如果用在增强里面&#xff0c;不要COMMIT) 02、WAIT、异步RFC&#xff0c;都会触发隐式提交&#xff0c;所以禁止在增强内以及禁止提交的场合使用 03、FOR ALL ENTRIES一定要判断内表是否为空且尽量删除重复&#xff0c;SEL…

软考高级第四版备考--第13天(规划资源管理)Plan Resoure Management

定义&#xff1a;定义如何估算、获取、管理和利用团队以及实物资源的过程。 作用&#xff1a;根据项目类型和复杂程度确定适用与项目资源的管理方法和管理程度 输入&#xff1a;项目章程、项目管理计划&#xff08;质量管理计划、范围基准&#xff09;、项目文件&#xff08;…

域渗透与横向渗透:获取域控制器最高权限的技术与策略

域渗透与横向渗透&#xff1a;获取域控制器最高权限的技术与策略 引言 域控制器是组织网络中的核心组件&#xff0c;负责管理用户账户、安全策略和网络资源访问。横向渗透是攻击者在内网中移动并控制更多系统的过程。获取域控制器的最高权限意味着攻击者可以对整个网络进行操…

windows10下的游戏怎么卸载?

在Windows 10中卸载游戏可以通过多种途径进行&#xff0c;下面是一些常见的方法&#xff1a; 方法一&#xff1a;通过“设置”应用卸载 1. 点击左下角的“开始”按钮&#xff0c;打开“开始”菜单。 2. 选择“设置”图标&#xff08;齿轮形状&#xff09;。 3. 在“设置”窗…

2024年5款最佳免费博客程序——对比和测评

多年来&#xff0c;我试用了许多不同的博客网站&#xff0c;并评估了它们在各种需求上的表现。这篇文章记录了我的发现&#xff08;截至2024年&#xff09;&#xff0c;旨在帮助您为您的项目选择最佳解决方案。 我将介绍五个非常优秀的博客平台&#xff0c;它们让您能够轻松创建…

QTreeWidget 树遍历

在项目中遇到一个问题&#xff1a;需要将QString路径&#xff0c;做成一棵树的样式展示出来。其实倒不是说是问题&#xff0c;只是记录写这块儿的代码的思路 前提&#xff1a;我的所有的QString都是用"/"进行分割的&#xff0c;分割后的list中第一个元素是公共的路径…