要實(shí)現jQuery彈出窗口的彈出動(dòng)移動(dòng),可以通過(guò)編寫(xiě)一個(gè)簡(jiǎn)單的窗口JavaScript函數來(lái)實(shí)現,這個(gè)函數可以捕獲鼠標在彈出窗口標題欄上的彈出動(dòng)點(diǎn)擊??和拖動(dòng)事件,然后根據鼠標的窗口移動(dòng)距離來(lái)調整彈出窗口的位置,下面是彈出動(dòng)詳細的技術(shù)教學(xué):
(圖片來(lái)源網(wǎng)絡(luò ),侵刪)??1、窗口我們需要創(chuàng )建一個(gè)彈出窗口的彈出動(dòng)基本結構,這里我們使用HTML?和CSヽ(′ー`)ノS來(lái)創(chuàng )建一個(gè)簡(jiǎn)單的窗口彈出窗口:
<!DOCTYPE html><html lang="(′▽?zhuān)?;en"><head> <meta charset="UTF8"> <meta name="viewport" content="width=deヽ(′ー`)ノvicewidth,?? initialscale=1.0"> <title>jQuery彈出窗口移動(dòng)示例<??;/title> <??style> .modal { display: none; position: fixed; zindex: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; backgroundcolor: rgba(0, 0, 0, 0.4); } .modalcontent { backgroundcolor??: #fef??efe; margin: 15% auto; padding: 20px; border: 1px solid #888; width:?? 80%; } .close { color: #aaa; float: right; fontsize: 28px; fontweight: bold; } .close:hover, .close:(′_`)foc??us { color:?? black; textdecoration: none; cursor: pointer; } <ヾ(′?`)?;/style></head><body>?? <button id="openModal">打開(kāi)彈出窗口</button> <div id="myModal" class="modal"??;> <div class="modalcontent&?quot;> <span class="close">&tim??es;</span> <p>這是一個(gè)可??以移動(dòng)的彈出窗口!</p> </div> </div> <???;script src="https://code.jquery.com/jquery3.6.0.min.js"></script> <script> // 在這里(li)添加jQuery代碼 </script></body></html>2、彈出動(dòng)接下來(lái)??,窗口我(wo)們需要使用jQuery來(lái)實(shí)現彈出窗口的彈出動(dòng)顯示、隱藏以及移動(dòng)功能,窗口在<script&g?t;標簽內添加以??下代碼:
$(document)(′ω`).ready(funヾ(′?`)?ction () { var?? modal = $(&quo??t;#myModal"); var btn = $("#open='open'Modal"); var span = $(".close"); btn.click(function () { modal.show(); }); span.click(function () { modal.hide(); }); $(window).click(function (event) { if ($(even??t.target).is(modal)) { modal.hide(); } }); $(".modalcontent").mousedown??(function (event) { var shiftX = even?t.clientX modal.offset().left; var shiftY = event.clientY modal.offset().??top; $(".modalco??ntent").mousemove(function (ev??ent) { modal.offset({ top: event.clientY shiftY,彈出動(dòng) left: event.clientX shiftX }); }); $(".modalcontent").one(&quo(′_ゝ`)t;mouseup", function () { $(".modalcontent").unbind("mousemove"); }); });});這段代碼首先獲取了彈出窗口、打開(kāi)按鈕、窗口關(guān)閉按鈕以及窗口對象,彈出動(dòng)然后為打??開(kāi)按鈕和關(guān)閉按鈕添加了點(diǎn)擊事件,分別用于顯示和隱藏彈出窗口,接著(zhù),為窗口對象添加了一個(gè)點(diǎn)擊事件,用于在點(diǎn)擊窗口外的其他地方時(shí)隱藏彈出窗口。
為彈出窗口內容添加了一個(gè)鼠標按下事(′?ω?`)件,在這個(gè)事(???)件中,我們計算了鼠標在彈出窗(′_ゝ`)口標題欄上的位置與彈出窗口左上角的距離(shiftX和shiftY),然后為彈出窗(′_ゝ`)口內容添加了一個(gè)鼠標移動(dòng)事??件,用ヽ(′▽?zhuān)?ノ于根據鼠標的移動(dòng)距離調整彈出窗口的位置,當鼠標抬起時(shí),取消鼠標移動(dòng)事件的綁定,以避免在移動(dòng)過(guò)??程中重復觸發(fā)。
現在,當你點(diǎn)擊“打開(kāi)彈出窗口”按鈕時(shí),彈出窗口將顯示在屏幕上,你可以通過(guò)拖動(dòng)彈出窗口標題欄來(lái)移動(dòng)彈出窗口,點(diǎn)擊彈出窗口外的其他地方或關(guān)閉按鈕,彈出窗口將隱藏。