脚本div实现拖放功能(两种)
网页上有很多拖曳的操作,比如拖动树状列表,可拖曳的图片等。
1.原生拖放实现
<!doctypehtml> <htmllang="en"> <head> <metacharset="utf-8"> <title>jQueryUIAutocomplete-Defaultfunctionality</title> <linkrel="stylesheet"href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"rel="externalnofollow"> <scriptsrc="http://code.jquery.com/jquery-1.10.2.js"></script> <scriptsrc="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){ varx=e.pageX-_x;//计算移动的距离 vary=e.pageY-_y; $('.drag').css({top:y,left:x}); } }).mouseup(function(){ _move=false; $('.drag').fadeTo('fast',1); }); }); </script> </head> <body> <divclass="drag"></div> </body> </html>
2jQueryUIdraggable实现拖放
自行实现拖曳方法比较负责,jQueryUI提供了可拖曳的事件,允许用户非常简单的为一个div添加拖曳效果。
jQueryUI主要通过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> <buttonid="enable">enable</button> <buttonid="disable">disable</button> <buttonid="destroy">destroy</button> <divclass="drag"> <p>请拖动我!</p> </div> </body>
关于draggable的API可以参考draggalbeAPI
draggable实例
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!