jQuery自定义框并获取框内数据
这次给大家带来jQuery自定义框并获取框内数据,jQuery自定义框并获取框内数据的注意事项有哪些,下面就是实战案例,一起来看一下。
jquery库:
jquery -1.10.2.min.js,jQuery UI - v1.12.1。
jQuery 代码
不多说了,之间上代码。不懂的地方看注释。
<script type="text/javascript"> //鼠标按下时的X Y坐标 varmouseDownX; varmouseDownY; //鼠标按下时移动的X Y 坐标 varmouseMoveX; varmouseMoveY; //移动的状态 varisMove =false; /*初始化 选择框 */ functioninit() { $("#selected").css("display","none"); $("#selected").css("top","0"); $("#selected").css("left","0"); $("#selected").css("width","0"); $("#selected").css("height","0"); } $(document).ready(function() { init(); varselectedTD =newArray();//创建被选中表格数组 varTD = $("td");//获取所有表格信息 for(vari = 0; i < TD.length; i++) { selectedTD.push(TD[i]); } $("#tablep").mousedown(function(event) { mouseDownX = event.clientX - $(this).offset().left;; mouseDownY = event.clientY - $(this).offset().top; console.log("mouseDownX="+ mouseDownX +" mouseDownY="+ mouseDownY ); if(event.target.id.match(/selected/)) { isMove =true; } //鼠标按下并移动时进行判断(拖拽 or 画框) $("#tablep").mousemove(function(event) { mouseMoveX = event.clientX - $(this).offset().left; mouseMoveY = event.clientY - $(this).offset().top; varselectp = document.getElementById("selected"); if(isMove) { //拖拽的代码,因为实在不想算 xy 了,所以使用了jquery ui $("#selected").draggable(); //这部分是负责画框的时候,实时把框住的表格变色的,(代码和下面的代码重复了) varleft = selectp.offsetLeft, top = selectp.offsetTop; width = selectp.offsetWidth, height = selectp.offsetHeight; for(vari = 0; i < selectedTD.length; i++) { varsl = selectedTD[i].offsetWidth + selectedTD[i].offsetLeft; varst = selectedTD[i].offsetHeight + selectedTD[i].offsetTop; if(sl > left && st > top && selectedTD[i].offsetLeft < left + width && selectedTD[i].offsetTop < top + height) { if(selectedTD[i].className.indexOf("selected") == -1) { selectedTD[i].className ="selected"; } }else{ if(selectedTD[i].className.indexOf("selected") != -1) { selectedTD[i].className ="TD"; } } } }else{ //重复的代码,完了再把它抽取出来 varleft = selectp.offsetLeft, top = selectp.offsetTop; width = selectp.offsetWidth, height = selectp.offsetHeight; for(vari = 0; i < selectedTD.length; i++) { varsl = selectedTD[i].offsetWidth + selectedTD[i].offsetLeft; varst = selectedTD[i].offsetHeight + selectedTD[i].offsetTop; if(sl > left && st > top && selectedTD[i].offsetLeft < left + width && selectedTD[i].offsetTop < top + height) { if(selectedTD[i].className.indexOf("selected") == -1) { selectedTD[i].className ="selected"; } }else{ if(selectedTD[i].className.indexOf("selected") != -1) { selectedTD[i].className ="TD"; } } } //鼠标抬起结束画框,和拖动 $("#tablep").mouseup(function() { console.log("mouseUpX="+ mouseMoveX +" mouseUpY="+ mouseMoveX); isMove =false; $(this).unbind('mousemove'); }) //画框 displaySelected(mouseDownY, mouseDownX, mouseMoveX, mouseMoveY); } }) }) //当鼠标在已经画好的框上时,改变鼠标指针样式,就是十字形了 $("#selected").mouseenter(function() { $("#selected").css("cursor","move"); }); }); functiondisplaySelected(mouseDownY, mouseDownX, mouseUpX, mouseUpY) { $("#selected").css("display","block"); $("#selected").css("top", mouseDownY); $("#selected").css("left", mouseDownX); varmoveX = mouseMoveX - mouseDownX; varmoveY = mouseMoveY - mouseDownY; if(moveY < 0) { $("#selected").css("top", event.clientY - $("#table").offset().top); } if(moveX < 0) { $("#selected").css("left", event.clientX - $("#table").offset().left); } $("#selected").css("width", Math.abs(moveX)); $("#selected").css("height", Math.abs(moveY)); } </script>
测试用的html
使用table进行的测试:
<p id="tablep"style="width: 1500px; height: 1500px;top: 100px; left:100px; position: absolute;"> <p id="selected"style="border:5px dotted rgb(239, 37, 17);position: absolute;display: none;"></p> <table border="1"style=" width: 1500px; height: 1500px;"id="table"> <tr> <td id="1"class="TD"></td> <td id="2"class="TD"></td> <td id="3"class="TD"></td> <td id="4"class="TD"></td> <td id="5"class="TD"></td> <td id="6"class="TD"></td> </tr> <tr> <td id="7"class="TD"></td> <td id="8"class="TD"></td> <td id="9"class="TD"></td> <td id="10"class="TD"></td> <td id="11"class="TD"></td> <td id="12"class="TD"></td> </tr> <tr> <td id="1"class="TD"></td> <td id="2"class="TD"></td> <td id="3"class="TD"></td> <td id="4"class="TD"></td> <td id="5"class="TD"></td> <td id="6"class="TD"></td> </tr> </table> <!--表格代码太多所以...--> </p>
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是jQuery自定义框并获取框内数据的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

0.这篇文章干了啥?提出了DepthFM:一个多功能且快速的最先进的生成式单目深度估计模型。除了传统的深度估计任务外,DepthFM还展示了在深度修复等下游任务中的最先进能力。DepthFM效率高,可以在少数推理步骤内合成深度图。下面一起来阅读一下这项工作~1.论文信息标题:DepthFM:FastMonocularDepthEstimationwithFlowMatching作者:MingGui,JohannesS.Fischer,UlrichPrestel,PingchuanMa,Dmytr

DDREASE是一种用于从文件或块设备(如硬盘、SSD、RAM磁盘、CD、DVD和USB存储设备)恢复数据的工具。它将数据从一个块设备复制到另一个块设备,留下损坏的数据块,只移动好的数据块。ddreasue是一种强大的恢复工具,完全自动化,因为它在恢复操作期间不需要任何干扰。此外,由于有了ddasue地图文件,它可以随时停止和恢复。DDREASE的其他主要功能如下:它不会覆盖恢复的数据,但会在迭代恢复的情况下填补空白。但是,如果指示工具显式执行此操作,则可以将其截断。将数据从多个文件或块恢复到单

谷歌力推的JAX在最近的基准测试中性能已经超过Pytorch和TensorFlow,7项指标排名第一。而且测试并不是在JAX性能表现最好的TPU上完成的。虽然现在在开发者中,Pytorch依然比Tensorflow更受欢迎。但未来,也许有更多的大模型会基于JAX平台进行训练和运行。模型最近,Keras团队为三个后端(TensorFlow、JAX、PyTorch)与原生PyTorch实现以及搭配TensorFlow的Keras2进行了基准测试。首先,他们为生成式和非生成式人工智能任务选择了一组主流

哭死啊,全球狂炼大模型,一互联网的数据不够用,根本不够用。训练模型搞得跟《饥饿游戏》似的,全球AI研究者,都在苦恼怎么才能喂饱这群数据大胃王。尤其在多模态任务中,这一问题尤为突出。一筹莫展之际,来自人大系的初创团队,用自家的新模型,率先在国内把“模型生成数据自己喂自己”变成了现实。而且还是理解侧和生成侧双管齐下,两侧都能生成高质量、多模态的新数据,对模型本身进行数据反哺。模型是啥?中关村论坛上刚刚露面的多模态大模型Awaker1.0。团队是谁?智子引擎。由人大高瓴人工智能学院博士生高一钊创立,高

在iPhone上面临滞后,缓慢的移动数据连接?通常,手机上蜂窝互联网的强度取决于几个因素,例如区域、蜂窝网络类型、漫游类型等。您可以采取一些措施来获得更快、更可靠的蜂窝互联网连接。修复1–强制重启iPhone有时,强制重启设备只会重置许多内容,包括蜂窝网络连接。步骤1–只需按一次音量调高键并松开即可。接下来,按降低音量键并再次释放它。步骤2–该过程的下一部分是按住右侧的按钮。让iPhone完成重启。启用蜂窝数据并检查网络速度。再次检查修复2–更改数据模式虽然5G提供了更好的网络速度,但在信号较弱

最近,军事圈被这个消息刷屏了:美军的战斗机,已经能由AI完成全自动空战了。是的,就在最近,美军的AI战斗机首次公开,揭开了神秘面纱。这架战斗机的全名是可变稳定性飞行模拟器测试飞机(VISTA),由美空军部长亲自搭乘,模拟了一对一的空战。5月2日,美国空军部长FrankKendall在Edwards空军基地驾驶X-62AVISTA升空注意,在一小时的飞行中,所有飞行动作都由AI自主完成!Kendall表示——在过去的几十年中,我们一直在思考自主空对空作战的无限潜力,但它始终显得遥不可及。然而如今,

这周,由OpenAI、微软、贝佐斯和英伟达投资的机器人公司FigureAI宣布获得接近7亿美元的融资,计划在未来一年内研发出可独立行走的人形机器人。而特斯拉的擎天柱也屡屡传出好消息。没人怀疑,今年会是人形机器人爆发的一年。一家位于加拿大的机器人公司SanctuaryAI最近发布了一款全新的人形机器人Phoenix。官方号称它能以和人类一样的速率自主完成很多工作。世界上第一台能以人类速度自主完成任务的机器人Pheonix可以轻轻地抓取、移动并优雅地将每个对象放置在它的左右两侧。它能够自主识别物体的

多模态文档理解能力新SOTA!阿里mPLUG团队发布最新开源工作mPLUG-DocOwl1.5,针对高分辨率图片文字识别、通用文档结构理解、指令遵循、外部知识引入四大挑战,提出了一系列解决方案。话不多说,先来看效果。复杂结构的图表一键识别转换为Markdown格式:不同样式的图表都可以:更细节的文字识别和定位也能轻松搞定:还能对文档理解给出详细解释:要知道,“文档理解”目前是大语言模型实现落地的一个重要场景,市面上有很多辅助文档阅读的产品,有的主要通过OCR系统进行文字识别,配合LLM进行文字理
