脚本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 相关文章推荐
让iframe框架网页在任何浏览器下自动伸缩
Aug 18 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
Mar 29 Javascript
裁剪字符串trim()自定义改进版
Apr 10 Javascript
js清空form表单中的内容示例
May 20 Javascript
jQuery Migrate 1.1.0 Released 注意事项
Jun 14 Javascript
使表格的标题列可左右拉伸jquery插件封装
Nov 24 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
Jan 18 Javascript
修改js confirm alert 提示框文字的简单实例
Jun 10 Javascript
JS中setTimeout和setInterval的最大延时值详解
Feb 13 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
Nov 08 Javascript
vue移动端的左右滑动事件详解
Jun 17 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
php开发工具有哪五款
2015/11/09 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
python机器学习之神经网络(二)
2017/12/20 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python反转序列的方法实例分析
2018/03/21 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Python2与Python3的区别实例分析
2019/04/11 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
2019/07/19 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
端口镜像是怎么实现的
2014/03/25 面试题
行政部总经理岗位职责
2014/01/04 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
家长对孩子的感言
2014/03/10 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
2014年加油站工作总结
2014/12/04 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang