脚本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 相关文章推荐
FormValidate 表单验证功能代码更新并提供下载
Aug 23 Javascript
js控制滚动条缓慢滚动到顶部实现代码
Mar 20 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
jquery插件Jplayer使用方法简析
Apr 22 Javascript
利用JS轻松实现获取表单数据
Dec 06 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
Jul 19 Javascript
vue 粒子特效的示例代码
Sep 19 Javascript
vue.js响应式原理解析与实现
Jun 22 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
Sep 19 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
Vuex的各个模块封装的实现
Jun 05 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
一个比较简单的PHP 分页分组类
2009/12/10 PHP
PHP 缓存实现代码及详细注释
2010/05/16 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
Javascript 中介者模式实例
2009/12/16 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
JavaScript使用replace函数替换字符串的方法
2015/04/06 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
PyMongo安装使用笔记
2015/04/27 Python
Python利用ansible分发处理任务
2015/08/04 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
django中间键重定向实例方法
2019/11/10 Python
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
教师求职信范文分享
2013/12/27 职场文书
党员培训思想汇报
2014/01/07 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
银行工作心得体会范文
2016/01/23 职场文书
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript