脚本div实现拖放功能(两种)
更新时间:2017年02月13日 16:58:00 作者:sumer7310
本文介绍了脚本div实现拖放功能的两种方法:1.原生拖放实现;2.jQuery UI draggable实现拖放。具有很好的参考价值,下面跟着小编一起来看下吧
网页上有很多拖曳的操作,比如拖动树状列表,可拖曳的图片等。
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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
相关文章
JavaScript的History API使搜索引擎抓取AJAX内容
这篇文章主要介绍了JavaScript的History API使搜索引擎抓取AJAX内容 的相关资料,需要的朋友可以参考下2015-12-12js中for...in循环对象时输出key值顺序混乱问题解决
很久之前就有前辈告诉我用for...in循环对象属性的顺序不是固定的,xiam 这篇文章主要给大家介绍了关于js中for...in循环对象时输出key值顺序混乱问题解决方法,需要的朋友可以参考下2023-11-11前端接口报错Required request body is missing解决办法
这篇文章主要给大家介绍了关于前端接口报错Required request body is missing的解决办法,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-12-12
最新评论