jQuery 拖拽窗體

jQuery 拖拽窗體事件

今天給大家分享一個簡單拖拽事件,可以通過拖拽事件實現數據的傳遞,已達到良好的交互,可以實現更為可觀的效果。
具體來說,只有三部基本的操作:
第一:當鼠標按下時觸發的事件(onmousedown)。
第二:鼠標移動時事件(onmousemove)。
第三:鼠標松開時停止移動事件(onmouseup)。

首先,我們先設置樣式。

// 樣式<style>#XiaLa {          background-image: url('../../Content/img/small.png');float: right;width: 18px;height: 18px;background-size: 100%;background-repeat: no-repeat;position: absolute;top: 3px;right: 18px;}#close_T {background-image: url('../../Content/img/close.PNG');width: 18px;height: 18px;background-size: 100%;background-repeat: no-repeat;position: absolute;top: 3px;right: 0px;}#Ha {width: 256px;position: absolute;top: 0%;left: 5%;background: #FFF;z-index: 2;border: 1px solid #3586D7;border-radius: 2px;display: none;}#Ha2 {           width: 100%;height: 25px;line-height: 25px;text-align: center;background-color: #3586D7;position: relative;      }.titleStyle{font-style: normal;color: #fff;font-size: 12px;font-weight: bold;font-family: "宋體";line-height: 22px !important;}  </style>

然后下面是body里面的代碼:

//<button class="btn btn-primary" type="button"onclick="fff()">點擊</button><div style="position: absolute;width:300px;width:220px;" id="Ha"><div id="Ha2"style="cursor: move;" >//cursor:定義了鼠標指針放在一個元素邊界范圍內時所用的光標形狀//move:此光標指示某對象可被移動。//pointer:光標呈現為指示鏈接的指針(一只手)<i class="titleStyle">魔鬼</i><i style="cursor: pointer;" id="XiaLa" ></i><i style="cursor: pointer;" id="close_T" onclick="closeDialog_T()" ></i></div><div id="NeiRong">      </div> </div>

這是css里面的屬性值,方便大家參考:
在這里插入圖片描述
接下來就是要寫方法,然后觸發拖拽事件:

 <script>TuoZ();//調用方法function TuoZ() {//可以設置初始值的位置//$('#Ha').css("top", '200px');//$('#Ha').css("left", '1563px;');var ifmove = false;//開始判斷是否移動var x1, y1;//鼠標離控件左上角的相對位置//mousedown當鼠標指針移動到元素上方,并按下鼠標按鍵時,發生 mousedown 事件。$("#Ha2").mousedown(function (e) {ifmove = true;//pageX返回相對于文檔左邊緣的鼠標位置//pageY返回相對于文檔上邊緣的鼠標位置//parseInt解析一個字符串并返回一個整數。x1 = e.pageX - parseInt($("#Ha").css("left"));y1 = e.pageY - parseInt($("#Ha").css("top"));//fadeTo:把被選元素逐漸改變至給定的不透明度$("#Ha2").fadeTo(20, 0.5);//點擊開始拖動并透明顯示//  參考://$(selector).fadeTo(speed,opacity,callback);//必需的 speed 參數規定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。//fadeTo() 方法中必需的 opacity 參數將淡入淡出效果設置為給定的不透明度(值介于 0 與 1 間)。//可選的 callback 參數是該函數完成后所執行的函數名稱。});//mousemove 鼠標離開事件$(document).mousemove(function (e) {if (ifmove) {var x = e.pageX - x1;//移動時鼠標位置計算控件左上角的絕對位置var y = e.pageY - y1;var width = parseInt($("#content").css("width"));var width1 = parseInt($("#Ha").css("width"));var height = parseInt($("#content").css("height"));var height1 = parseInt($("#Ha").css("height"));//判斷值是否 小于0,小于0就讓等于0if (x < 0) {x = 0;}if (y < 0) {y = 0;}//判斷值是否 大于0,大于0就讓等于0if (y > height - height1) {y = height - height1;}if (x > width - width1) {x = width - width1;}$("#Ha").css({ top: y, left: x });//得到控件的新位置}}).mouseup(function () {//mouseup當在元素上松開鼠標按鈕時,會發生 mouseup 事件。ifmove = false;$("#Ha2").fadeTo("fast", 1);//松開鼠標后停止移動并恢復成不透明});}

所上代碼所示,也有注釋分析,一個簡單的拖拽就這樣完成了。

//這里是窗體向下與向上點擊事件的判斷
var TF = true;$("#XiaLa").click(function () {if (TF) {$("#NeiRong").attr("style", "display:block;width:214px;height:212px;border:3px solid #3586D;");TF = false;} else {$("#NeiRong").attr("style", "display:none");TF = true;}});

實現的效果圖如下,圖中的藍色導航部分當鼠標選中并進行拖拽時,改變背景顏色,背景顏色透明顯示,點擊:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443398.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443398.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443398.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《SuperMap GIS二次開發MVC實戰訓練---江海區慢性病防治院系統》項目研發階段性總結

《SuperMap GIS二次開發MVC實戰訓練—江海區慢性病防治院系統》項目研發階段性總結 作者&#xff1a;愛怡同學 本次任務完成時間&#xff1a;2019年1月1日&#xff5e;2019年1月10日 開發工具與關鍵技術&#xff1a;SuperMap iDesktop 9D &#xff0c;MVC&#xff0c; SuperMa…

《帝友 P2P 網絡借貸系統》

《帝友 P2P 網絡借貸系統》 本次任務完成時間&#xff1a;2018年12月1日&#xff5e;2018年12月15日 開發工具與關鍵技術&#xff1a;Microsoft Visual Studio &#xff0c;SQL 完成模塊功能&#xff1a;后臺認證管理篇 項目流程圖&#xff1a; &#xff08;1&#xff09; 事…

C#驗證碼

驗證碼生成 在學習以及做項目的過程中&#xff0c;我們有時候遇到需要驗證碼的情況&#xff0c;然后需要對它進行判斷是否正確。但首先&#xff0c;我們就必須要生成驗證碼&#xff0c;才能夠對其進行判斷。 首先&#xff0c;這是控制層代碼&#xff1a; //生成驗證碼public…

jquery工具箱旋轉動畫效果

jquery工具箱旋轉動畫效果 今天給大家分享一個工具箱的旋轉動畫效果&#xff0c;因為做GIS項目的時候所需要到&#xff0c;這是我在懶人之家看到的一個jquery鼠標點擊按鈕圖標旋轉彈出圖標菜單旋轉動畫。 首先&#xff0c;可以引用插件&#xff0c;但因為項目所需&#xff0c;…

.NET短信接口驗證

.NET短信接口驗證 之前遇到的一個問題&#xff0c;因為沒有接觸過&#xff0c;所以自己上網查閱過資料也向他人請教以及老師&#xff0c;.NET短信接口調用&#xff0c;其實&#xff0c;網上有許多免費的短信接口平臺&#xff0c;但也是有限度的&#xff0c;如果發送的數量過多…

密碼判斷

.NET(C#)密碼判斷 當我們需要對密碼進行判斷的時候&#xff0c;可以不使用提示框模態框的方法&#xff0c;用圖片顯示判斷密碼正確與否也是比較美觀的&#xff0c;也實為方便&#xff0c;這也是老師提供一種方法。 首先&#xff0c;我們需要把樣式鋪墊好&#xff1a; <div…

身份證正則判斷

身份證正則判斷 今天分享的是身份證的正則判斷&#xff0c;在很多時候需要到&#xff0c;所以在這里記錄下來。之前做正則判斷的時候&#xff0c;有一些小瑕疵&#xff0c;判斷不夠全面&#xff0c;正則判斷&#xff0c;結構緊湊&#xff0c;全面的判斷很重要&#xff0c;所以…

Oracle 單行函數

學習Oracle 單行函數&#xff1a; 包括字符函數&#xff0c;數值函數&#xff0c;日期函數&#xff0c;轉換函數&#xff0c;通用函數。 dual是一個”偽表”&#xff0c;可以用來測試函數和表達式。 1&#xff0c; 字符函數 包括大小寫控制函數&#xff0c;字符控制函數。 大小…

Oracle 多表查詢 --笛卡爾集--左連接--右連接--1999 語法--滿外連接

Oracle 多表查詢總結 笛卡爾集現象&#xff1a; 笛卡爾集會在下面條件下產生: – 省略連接條件 – 連接條件無效 – 所有表中的所有行互相連接 為了避免笛卡爾集&#xff0c; 可以在where加入有效的連接條件。 Oracle 連接&#xff1a; 使用連接在多個表中查詢數據。 在wher…

Oracle 數據庫-分組函數總結

Oracle 分組函數 分組函數作用于一組數據&#xff0c;并對一組函數返回一個值。 組函數類型&#xff1a; avg&#xff0c;count&#xff0c;max&#xff0c;min&#xff0c;sum 可以對數值型數據使用avg和sum函數。 select avg(salary),min(salary),max(salary),sum(salary)…

在notepad++中配置java編譯環境

在notepad中配置java編譯環境 &#xff08;1&#xff09;首先&#xff0c;下載安裝了Notepad&#xff0c;在菜單欄那里找到Plugin Manager&#xff0c;有一些版本是沒有中文的&#xff0c;所有只有Plugin Manager&#xff0c;如果連Plugin Manager都沒有&#xff0c;你則需要去…

Java 基礎數據類型

Java 基礎數據類型 Java的兩大數據類型&#xff1a;基本數據類型、引用類型。 Java語言提供了八種基本數據類型。六種數字類型&#xff08;四個整數型&#xff0c;兩個浮點型&#xff09;&#xff0c;一種字符類型&#xff0c;還有一種布爾型。 整形&#xff1a;byte&#xf…

Java獲取系統時間

Java獲取系統時間 Java獲取系統時間 在java 中&#xff0c;有很多種方法都可以獲取到系統的當前時間&#xff0c;但也需要到對應的類&#xff0c;不同的類自然有不同的方法。這里為大家介紹獲取系統當前時間的四種方式。 1&#xff0e; 通過Calendar類來獲取當前時間 需要引用…

Java單例模式的幾種實現方式

Java單例模式的幾種實現方式 在Java 中&#xff0c;單例類只能有一個實例&#xff0c;必須創建自己的唯一實例&#xff0c;單例類必須給所有其他對象提供這一實例。Java 單例模式有很多種實現方式&#xff0c;在這里給大家介紹單例模式其中的幾種。分別是餓漢式&#xff0c;懶…

Java 中抽象類與接口

Java 抽象類&#xff1a; 在面向對象的概念中&#xff0c;所有的對象都是通過類來描繪的&#xff0c;但是反過來&#xff0c;并不是所有的類都是用來描繪對象的&#xff0c;如果一個類中沒有包含足夠的信息來描繪一個具體的對象&#xff0c;這個類就是抽象類。 抽象類不能創建…

Java 中的進程與線程的實現

了解進程與線程&#xff1a; 進程&#xff1a; 當一個程序進入內存運行時&#xff0c;即變成一個進程。進程是處于運行過程 中的程序&#xff0c;并且具有一定的獨立功能&#xff0c;進程是系統進行資源分配和調度的一個獨立單 位一般而言&#xff0c;進程包含如下三個特征&…

Java集合工具類:Collections

Java提供了一個操作Set、List和Map等集合的工具類&#xff1a;Collections&#xff0c;該工具類里 提供了大量方法對集合元素進行排序、查詢和修改等操作&#xff0c;還提供了對集合對象實現同步控制等方法。 一、 排序操作 如下示例&#xff1a; public class CollectionsSor…

Java異常處理throws/throw

Java的異常被分為兩大類&#xff1a;Checked異常和Runtime異常&#xff08;運行時異常&#xff09;。 ? Runtime異常&#xff1a;所有的RuntimeException類及其子類的實例&#xff1b; ? Checked異常&#xff1a;不是RuntimeException類及其子類的異常實例。 只有Java語言提供…

JDBC 連接MYSQL數據庫

1. 加載驅動 Class.forName("com.mysql.jdbc.Driver");com.mysql.jdbc 包名 Driver 驅動名&#xff0c;驅動包需要引入進來 mysql com.mysql.jdbc.Driveroracle oracle.jdbc.driver.OracleDriversqlserver com.microsoft.sqlserver.jdbc.SQLServerDriver …

JSP 之輸出九九乘法表

JSP是一種建立在Servlet規范提供的功能之上的動態網頁技術&#xff0c;允許在網頁文件中嵌入java代碼和jsp標記。Java 服務器頁面 (Java Server Page &#xff0c;JSP) 擴展名為 .jsp。 1&#xff0e;jsp的執行過程 Jsp文件在用戶第一次請求時,會被編譯成Servlet,然后由這個Se…