脚本div实现拖放功能(两种)


Posted in Javascript onFebruary 13, 2017

网页上有很多拖曳的操作,比如拖动树状列表,可拖曳的图片等。

1.原生拖放实现

<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>jQuery UI Autocomplete - Default functionality</title>
 <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="external nofollow" >
 <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
 <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
 <style>
 .drag{
 width: 200px;
 height: 200px;
 background-color: red;
 position: absolute;
 left:0;
 top:0;
 }
 </style>
 <script>
 $(function() {
 var _move = false;//判断目标对象书否处于移动状态
 var _x, _y;//鼠标离控件左上角的相对x.y坐标
 $('.drag').click(function(event) {
 }).mousedown(function(e) {//当按下鼠标左键时
 _move = true;//标记移动为true,开始移动
 _x = e.pageX - parseInt($('.drag').css('left'));//得到左上角的x的位置
 _y = e.pageY - parseInt($('.drag').css('top'));//得到左上角的y的位置
 $('.drag').fadeTo('20', 0.5);//单击后开始拖动
 
 });
 
 $(document).mousemove(function(e) {//监听鼠标移动
 if(_move) {
 var x = e.pageX - _x;//计算移动的距离
 var y = e.pageY - _y;
 $('.drag').css({top:y, left:x});
 }
 }).mouseup(function() {
 _move = false;
 $('.drag').fadeTo('fast', 1);
 });
 });
 </script>
</head>
<body>
 <div class="drag"></div>
</body>
</html>

2 jQuery UI draggable实现拖放

自行实现拖曳方法比较负责,jQuery UI提供了可拖曳的事件,允许用户非常简单的为一个div添加拖曳效果。

jQuery UI主要通过draggable事件来实现拖曳功能。

<script>
 $(document).ready(function(e) {
  $('.drag').draggable({cursor: 'move'});
  $('#enable').click(function(e) {
 $('.drag').draggable('enable');
  });
  $('#disable').click(function(event) {
 $('.drag').draggable('disable');
  });
  $('#deatroy').click(function(event) {
 $('.drag').draggable('destroy');
  });
 })
 </script>
</head>
<body>
 <button id="enable">enable</button>
 <button id="disable">disable</button>
 <button id="destroy">destroy</button>
 <div class="drag">
 <p>请拖动我!</p> 
 </div>
</body>

关于draggable的API可以参考draggalbe API

draggable 实例

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Extjs学习笔记之九 数据模型(上)
Jan 11 Javascript
JavaScript常用小技巧小结
Dec 29 Javascript
jQuery制作仿Mac Lion OS滚动条效果
Feb 10 Javascript
jQuery中slideUp 和 slideDown 的点击事件
Feb 26 Javascript
javascript原型继承工作原理和实例详解
Apr 07 Javascript
js实现抽奖效果
Mar 27 Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 Javascript
vue父组件通过props如何向子组件传递方法详解
Aug 16 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
Oct 12 Javascript
JS中的一些常用的函数式编程术语
Jun 15 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
May 21 Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 #Javascript
判断横屏竖屏(三种)
Feb 13 #Javascript
详解javascript立即执行函数表达式IIFE
Feb 13 #Javascript
jQuery实现大图轮播
Feb 13 #Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 #Javascript
你真的了解BOM中的history对象吗
Feb 13 #Javascript
微信小程序-获得用户输入内容
Feb 13 #Javascript
You might like
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
php实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
Python切片操作深入详解
2018/07/27 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
详解python itertools功能
2020/02/07 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
学生党支部先进事迹
2014/02/04 职场文书
校庆标语集锦
2014/06/25 职场文书
美术专业自荐信
2014/07/07 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
会计工作态度自我评价
2015/03/06 职场文书