利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值

实现弹出可拖动的Div的方法有很多种,其中使用JQuery+EasyDrag是比较简单实用的一种。下面给出具体的实现方法。

1. 引入相关资源

在HTML文件中引入JQuery和EasyDrag库。

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.5/jquery.easyui.min.js"></script>

<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.5/themes/default/easyui.css" />
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.5/themes/icon.css" />
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.5/themes/color.css" />

2. 创建弹出窗口

在HTML文件中创建弹出窗口的div,设置其样式及内容。

<div id="dialog" style="display:none;width:400px;">
  <form>
    <input type="text" id="inputText" name="inputText"/><br/><br/>
    <input type="button" id="okButton" value="OK"/>
  </form>
</div>

3. 调用EasyDrag

在JavaScript文件中,使用$.fn.easydrag函数来设置弹出窗口可以拖动。

$("#dialog").easydrag();

$.fn.easydrag = function() {
  var drag = {};
  var drop = {};
  var target = this;
  var dragging = false;

  this.mousedown(function(e) {
    drag.x = e.pageX;
    drag.y = e.pageY;
    drag.target = target;
    dragging = true;
  });

  $(document).mousemove(function(e) {
    if (dragging) {
      var x = parseInt(drag.target.css('left'));
      var y = parseInt(drag.target.css('top'));

      drag.target.css({
        left: x + e.pageX - drag.x,
        top: y + e.pageY - drag.y
      });

      drag.x = e.pageX;
      drag.y = e.pageY;
    }
  });

  $(document).mouseup(function(e) {
    dragging = false;
  });
};

4. 显示弹出窗口

在JavaScript文件中,定义函数用于显示弹出窗口。

function showDialog() {
  $('#dialog').dialog({
    title: 'Dialog Title',
    closed: false,
    modal: true,
    buttons: [{
      text: 'OK',
      handler: function () {
        var inputText = $('#inputText').val();
        $('#dialog').dialog('close');
        // do something with inputText
      }
    }]
  });
}

5. 示例1

创建一个按钮,点击后弹出窗口,并将所选的值返回到页面上。

<input type="button" value="Open Dialog" onclick="showDialog()" />

<div id="result"></div>

<script>
  function showDialog() {
    $('#dialog').dialog({
      title: 'Dialog Title',
      closed: false,
      modal: true,
      buttons: [{
        text: 'OK',
        handler: function () {
          var inputText = $('#inputText').val();
          $('#dialog').dialog('close');
          $('#result').html('Selected value: ' + inputText);
        }
      }]
    });
  }
</script>

6. 示例2

创建一个列表,在列表中选择一个元素后,弹出窗口并将所选的值返回到页面上。

<ul id="list">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

<div id="result"></div>

<script>
  $('#list').on('click', 'li', function() {
    var selectedValue = $(this).html();
    $('#inputText').val(selectedValue);
    showDialog();
  });

  function showDialog() {
    $('#dialog').dialog({
      title: 'Dialog Title',
      closed: false,
      modal: true,
      buttons: [{
        text: 'OK',
        handler: function () {
          var inputText = $('#inputText').val();
          $('#dialog').dialog('close');
          $('#result').html('Selected value: ' + inputText);
        }
      }]
    });
  }
</script>

以上就是利用JQuery+EasyDrag实现弹出可拖动的Div,并向Div传值,然后返回Div选中的值的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • jQWidgets jqxTree updateItem()方法

    jQWidgets jqxTree updateItem() 方法 jqxTree 是 jQWidgets 提供的一个树形组件,它可以展示层级结构的数据支持多种交互。jqxTree 提供了 updateItem() 方法,用更新树形组件中的节点。 updateItem() 方法 updateItem() 方法用于更新树形组件中的节点。该方法接受两个参数:it…

    jquery 2023年5月11日
    00
  • jQWidgets jqxTouch swipeDelay属性

    以下是关于 jQWidgets jqxTouch swipeDelay 属性的完整攻略: jQWidgets jqxTouch swipeDelay 属性 swipeDelay 属性用于设置刷屏事件的延迟时间,即用户在屏幕上滑动手指后,多长时间的滑动才会被视为刷屏事件。默认值为 75 毫秒。 语法 $(‘#targetElement’).jqxTouch({…

    jquery 2023年5月11日
    00
  • Struts html:checkbox框初始默认是选中的解决方法

    当使用Struts框架中的html:checkbox标签时,默认情况下该checkbox框是未选中的,但如果我们需要该checkbox框初始默认是选中的,则需要采用下列方式进行处理: 在Action中设置checkbox框的value值 在Action类中,我们可以在处理请求的方法中设置checkbox框的boolean值为true,这样该checkbox框…

    jquery 2023年5月29日
    00
  • jQWidgets jqxTabs collapse()方法

    针对“jQWidgets jqxTabs collapse()方法”的完整攻略,请参考以下内容: 概述 jqxTabs 是 jQWidgets 框架中提供的一种选项卡组件,通过该组件可以轻松地实现选项卡切换的功能。而 collapse() 方法则是该组件的一个内置方法,其中 collapse() 用于关闭当前选项卡。 方法参数 collapse() 方法的参…

    jquery 2023年5月12日
    00
  • Jquery解析json字符串及json数组的方法

    下面是关于“Jquery解析json字符串及json数组的方法”的完整攻略: 1. 利用JSON.parse()方法解析JSON字符串 JSON.parse()可以将JSON字符串转换成一个JavaScript对象。使用该方法时,传入的参数必须是一个符合JSON格式的字符串。 下面是一个示例: // 定义一个JSON字符串 var jsonStr = ‘{&…

    jquery 2023年5月18日
    00
  • jQWidgets jqxPanel主题属性

    以下是关于 jQWidgets jqxPanel 组件中主题属性的详细攻略。 jQWidgets jqxPanel 主题属性 jQWidgets jqxPanel 组件的主题属性用于设置面板的主题。 语法 $(‘#panel’).jqxPanel({ theme: ‘classic’ }); 示例 以下两个示例演示如何使用主题属性。 示例 1 // 设置面板…

    jquery 2023年5月12日
    00
  • jQWidgets jqxWindow open()方法

    下面是详细讲解“jQWidgets jqxWindow open()方法”的完整攻略: 简介 jqxWindow 组件是 jQWidgets 中的一个弹窗组件,提供了一些弹窗打开、关闭、最大化、最小化等常见的操作接口。其中 open() 方法用于打开弹窗,本文将详细介绍该方法的用法和注意事项。 语法 $(selector).jqxWindow(‘open’)…

    jquery 2023年5月12日
    00
  • jQuery 1.5最新版本的改进细节分析

    jQuery 1.5最新版本的改进细节分析 jQuery是一款流行的JavaScript库,用于快速开发交互性强的网络应用。jQuery 1.5是其最新版本,该版本在前几个版本的基础上新增了一些特性和功能,并且进行了性能优化和错误修复。 改进细节 链式操作 与以往版本不同,jQuery 1.5能够获取任何类型的jQuery对象,并将其链接到当前方法。具体而言…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部