亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery怎么實現點擊按鈕彈出可拖拽模態對話框

發布時間:2023-04-26 16:56:57 來源:億速云 閱讀:143 作者:iii 欄目:開發技術

這篇文章主要講解了“jQuery怎么實現點擊按鈕彈出可拖拽模態對話框”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“jQuery怎么實現點擊按鈕彈出可拖拽模態對話框”吧!

css部分:

.dialog {
  display: none; /* 初始隱藏 */
  position: absolute;
  width: 300px;
  height: 200px;
  top: 50px;
  left: 50px;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 0 10px rgba(0,0,0,.2);
}
.dialog-header {
  height: 30px;
  line-height: 30px;
  padding: 0 10px;
  font-size: 16px;
  font-weight: bold;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ccc;
  cursor: move; /* 允許拖拽 */
}
.dialog-body {
  padding: 10px;
}

/* 遮罩層樣式 */
.mask {
  display: none; /* 初始隱藏 */
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,.3);
}

html部分:

<!-- 點擊按鈕彈出對話框的按鈕 -->

<button class="dialog-trigger">點擊彈出對話框</button>

<!-- 對話框 -->

<div class="dialog" id="dialog">

  <div class="dialog-header">對話框</div>

  <div class="dialog-body">這里是對話框內容</div>

</div>

js部分:

$(function() {
  var $dialog = $('.dialog'); // 對話框
  var $mask = $('.mask'); // 遮罩層
  var isDragging = false; // 是否拖拽中

  // 點擊彈出對話框
  $('.dialog-trigger').click(function() {
    $dialog.show(); // 顯示對話框
    $mask.show(); // 顯示遮罩層
  });

  // 拖拽對話框
  $dialog.find('.dialog-header').mousedown(function(e) {
    isDragging = true; // 開始拖拽
    var startX = e.pageX; // 鼠標按下時的X坐標
    var startY = e.pageY; // 鼠標按下時的Y坐標
    var left = $dialog.offset().left; // 對話框初始的left值
    var top = $dialog.offset().top; // 對話框初始的top值

    // 拖拽事件
    $(document).mousemove(function(e) {
      if (isDragging) {
        var moveX = e.pageX - startX; // 鼠標移動的X距離
        var moveY = e.pageY - startY; // 鼠標移動的Y距離
        $dialog.css({
          left: left + moveX + 'px',
          top: top + moveY + 'px'
        });
      }
    });

    // 停止拖拽事件
    $(document).mouseup(function() {
      isDragging = false;
    });
  });

  // 點擊遮罩層或對話框的關閉按鈕,隱藏對話框和遮罩層
  $mask.click(function() {
    $dialog.hide();
    $mask.hide();
  });
  $dialog.find('.dialog-close').click(function() {
    $dialog.hide();
    $mask.hide();
  });
});

完整實例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery點擊彈出模態對話框</title>
<style>

.dialog {
  display: none; /* 初始隱藏 */
  position: absolute;
  width: 300px;
  height: 200px;
  top: 50px;
  left: 50px;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 0 10px rgba(0,0,0,.2);
}
.dialog-header {
  height: 30px;
  line-height: 30px;
  padding: 0 10px;
  font-size: 16px;
  font-weight: bold;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ccc;
  cursor: move; /* 允許拖拽 */
}
.dialog-body {
  padding: 10px;
}

/* 遮罩層樣式 */
.mask {
  display: none; /* 初始隱藏 */
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,.3);
}

</style>

</head>

<body>

<!-- 點擊按鈕彈出對話框的按鈕 -->

<button class="dialog-trigger">點擊彈出對話框</button>

<!-- 對話框 -->

<div class="dialog" id="dialog">

  <div class="dialog-header">對話框</div>

  <div class="dialog-body">這里是對話框內容</div>

</div>

<script src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script>

<script>

$(function() {
  var $dialog = $('.dialog'); // 對話框
  var $mask = $('.mask'); // 遮罩層
  var isDragging = false; // 是否拖拽中

  // 點擊彈出對話框
  $('.dialog-trigger').click(function() {
    $dialog.show(); // 顯示對話框
    $mask.show(); // 顯示遮罩層
  });

  // 拖拽對話框
  $dialog.find('.dialog-header').mousedown(function(e) {
    isDragging = true; // 開始拖拽
    var startX = e.pageX; // 鼠標按下時的X坐標
    var startY = e.pageY; // 鼠標按下時的Y坐標
    var left = $dialog.offset().left; // 對話框初始的left值
    var top = $dialog.offset().top; // 對話框初始的top值

    // 拖拽事件
    $(document).mousemove(function(e) {
      if (isDragging) {
        var moveX = e.pageX - startX; // 鼠標移動的X距離
        var moveY = e.pageY - startY; // 鼠標移動的Y距離
        $dialog.css({
          left: left + moveX + 'px',
          top: top + moveY + 'px'
        });
      }
    });

    // 停止拖拽事件
    $(document).mouseup(function() {
      isDragging = false;
    });
  });

  // 點擊遮罩層或對話框的關閉按鈕,隱藏對話框和遮罩層
  $mask.click(function() {
    $dialog.hide();
    $mask.hide();
  });
  $dialog.find('.dialog-close').click(function() {
    $dialog.hide();
    $mask.hide();
  });
});

</script>

</body>

</html>

感謝各位的閱讀,以上就是“jQuery怎么實現點擊按鈕彈出可拖拽模態對話框”的內容了,經過本文的學習后,相信大家對jQuery怎么實現點擊按鈕彈出可拖拽模態對話框這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁远县| 青州市| 兴山县| 华安县| 阳谷县| 宝丰县| 鄂托克前旗| 阜城县| 钦州市| 化隆| 甘孜县| 龙岩市| 富源县| 赤峰市| 鄄城县| 浦县| 雷州市| 迭部县| 通辽市| 孙吴县| 汝阳县| 温州市| 呼玛县| 虹口区| 绥棱县| 辉南县| 阳原县| 蚌埠市| 曲阳县| 陇西县| 沂水县| 望城县| 张家港市| 台东县| 信宜市| 韩城市| 宜川县| 当阳市| 宁蒗| 义乌市| 双柏县|