脚本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 相关文章推荐
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Feb 27 Javascript
jquery ready(fn)事件使用介绍
Aug 21 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
Jan 13 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
Sep 23 Javascript
jQuery对象与DOM对象转换方法详解
May 10 Javascript
Angularjs 创建可复用组件实例代码
Oct 09 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
轻松理解vue的双向数据绑定问题
Oct 30 Javascript
vue中父子组件注意事项,传值及slot应用技巧
May 09 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
Aug 12 Javascript
微信头像地址失效踩坑记附带解决方案
Sep 23 Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 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
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
JavaScript入门之基本函数详解
2011/10/21 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
常用python数据类型转换函数总结
2014/03/11 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
医务人员自我评价
2014/01/26 职场文书
双十佳事迹材料
2014/01/29 职场文书
优秀团队获奖感言
2014/02/19 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
学生病假条范文
2015/08/17 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
Python3 如何开启自带http服务
2021/05/18 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android