脚本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 相关文章推荐
node.js学习总结之调式代码的方法
Jun 25 Javascript
加随机数引入脚本不让浏览器读取缓存
Sep 04 Javascript
JavaScript操作class和style样式代码详解
Feb 13 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
Apr 11 Javascript
字符串反转_JavaScript
Apr 28 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
Aug 08 Javascript
用jQuery实现优酷首页轮播图
Jan 09 Javascript
基于jQuery实现的打字机效果
Jan 16 Javascript
微信小程序 转发功能的实现
Aug 04 Javascript
vue中appear的用法
Aug 17 Javascript
微信小程序合法域名配置方法
May 06 Javascript
Vue中inheritAttrs的使用实例详解
Dec 31 Vue.js
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 session会话的安全性分析
2011/09/08 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
canvas时钟效果
2017/02/16 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
微信小程序上传图片实例
2018/05/28 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
Flask框架模板渲染操作简单示例
2019/07/31 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
什么是设计模式
2012/06/17 面试题
电子商务专业实习生自我鉴定
2013/09/24 职场文书
技校生自我鉴定范文
2013/09/26 职场文书
建筑毕业生自我鉴定
2013/10/18 职场文书
平面设计岗位职责
2013/12/14 职场文书
班训口号大全
2014/06/18 职场文书
商铺门前三包责任书
2014/07/25 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android