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中文網其它相關文章!
推薦閱讀:
js如何設定禁止表單重複提交############# ######以上是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)

熱門話題

DDREASE是一種用於從檔案或區塊裝置(如硬碟、SSD、RAM磁碟、CD、DVD和USB儲存裝置)復原資料的工具。它將資料從一個區塊設備複製到另一個區塊設備,留下損壞的資料區塊,只移動好的資料區塊。 ddreasue是一種強大的恢復工具,完全自動化,因為它在恢復操作期間不需要任何干擾。此外,由於有了ddasue地圖文件,它可以隨時停止和恢復。 DDREASE的其他主要功能如下:它不會覆寫恢復的數據,但會在迭代恢復的情況下填補空白。但是,如果指示工具明確執行此操作,則可以將其截斷。將資料從多個檔案或區塊還原到單

0.這篇文章乾了啥?提出了DepthFM:一個多功能且快速的最先進的生成式單目深度估計模型。除了傳統的深度估計任務外,DepthFM還展示了在深度修復等下游任務中的最先進能力。 DepthFM效率高,可以在少數推理步驟內合成深度圖。以下一起來閱讀這項工作~1.論文資訊標題:DepthFM:FastMonocularDepthEstimationwithFlowMatching作者:MingGui,JohannesS.Fischer,UlrichPrestel,PingchuanMa,Dmytr

谷歌力推的JAX在最近的基準測試中表現已經超過Pytorch和TensorFlow,7項指標排名第一。而且測試並不是JAX性能表現最好的TPU上完成的。雖然現在在開發者中,Pytorch依然比Tensorflow更受歡迎。但未來,也許有更多的大型模型會基於JAX平台進行訓練和運行。模型最近,Keras團隊為三個後端(TensorFlow、JAX、PyTorch)與原生PyTorch實作以及搭配TensorFlow的Keras2進行了基準測試。首先,他們為生成式和非生成式人工智慧任務選擇了一組主流

在iPhone上面臨滯後,緩慢的行動數據連線?通常,手機上蜂窩互聯網的強度取決於幾個因素,例如區域、蜂窩網絡類型、漫遊類型等。您可以採取一些措施來獲得更快、更可靠的蜂窩網路連線。修復1–強制重啟iPhone有時,強制重啟設備只會重置許多內容,包括蜂窩網路連線。步驟1–只需按一次音量調高鍵並放開即可。接下來,按降低音量鍵並再次釋放它。步驟2–過程的下一部分是按住右側的按鈕。讓iPhone完成重啟。啟用蜂窩數據並檢查網路速度。再次檢查修復2–更改資料模式雖然5G提供了更好的網路速度,但在訊號較弱

哭死啊,全球狂煉大模型,一網路的資料不夠用,根本不夠用。訓練模型搞得跟《飢餓遊戲》似的,全球AI研究者,都在苦惱怎麼才能餵飽這群資料大胃王。尤其在多模態任務中,這問題尤其突出。一籌莫展之際,來自人大系的初創團隊,用自家的新模型,率先在國內把「模型生成數據自己餵自己」變成了現實。而且還是理解側和生成側雙管齊下,兩側都能產生高品質、多模態的新數據,對模型本身進行數據反哺。模型是啥?中關村論壇上剛露面的多模態大模型Awaker1.0。團隊是誰?智子引擎。由人大高瓴人工智慧學院博士生高一鑷創立,高

這週,由OpenAI、微軟、貝佐斯和英偉達投資的機器人公司FigureAI宣布獲得接近7億美元的融資,計劃在未來一年內研發出可獨立行走的人形機器人。而特斯拉的擎天柱也屢屢傳出好消息。沒人懷疑,今年會是人形機器人爆發的一年。一家位於加拿大的機器人公司SanctuaryAI最近發布了一款全新的人形機器人Phoenix。官方號稱它能以和人類一樣的速率自主完成許多工作。世界上第一台能以人類速度自主完成任務的機器人Pheonix可以輕輕地抓取、移動並優雅地將每個物件放置在它的左右兩側。它能夠自主辨識物體的

特斯拉機器人Optimus最新影片出爐,已經可以在工廠裡打工了。正常速度下,它分揀電池(特斯拉的4680電池)是這樣的:官方還放出了20倍速下的樣子——在小小的「工位」上,揀啊揀啊揀:這次放出的影片亮點之一在於Optimus在廠子裡完成這項工作,是完全自主的,全程沒有人為的干預。而且在Optimus的視角之下,它還可以把放歪了的電池重新撿起來放置,主打一個自動糾錯:對於Optimus的手,英偉達科學家JimFan給出了高度的評價:Optimus的手是全球五指機器人裡最靈巧的之一。它的手不僅有觸覺

最近,軍事圈被這個消息刷屏了:美軍的戰鬥機,已經能由AI完成全自動空戰了。是的,就在最近,美軍的AI戰鬥機首次公開,揭開了神秘面紗。這架戰鬥機的全名是可變穩定性飛行模擬器測試飛機(VISTA),由美空軍部長親自搭乘,模擬了一對一的空戰。 5月2日,美國空軍部長FrankKendall在Edwards空軍基地駕駛X-62AVISTA升空注意,在一小時的飛行中,所有飛行動作都由AI自主完成! Kendall表示——在過去的幾十年中,我們一直在思考自主空對空作戰的無限潛力,但它始終顯得遙不可及。然而如今,
