HTML5中怎样利用draggable属性实现页面拖动
Admin 2022-07-15 群英技术资讯 451 次浏览
一、加载方式(首先是加载方式)
1.css样式加载:
<div id="box" class="easyui-draggable" style="width:200px;height:150px;background:#F5F6F7;"> 内容部分 </div>
使用css样式加载Draggable,方便快捷,但是不利于管理,所以我们有课第二种加载方式,使用Jquery方式加载,一般我们都会使用Jquery的方式进行加载。
2.Jquery方式加载:
//不加属性 $('#box').draggable(); //JS部分 $('#box').draggable({ revert : true, //拖动后是否回到起始位置,boolean类型 cursor : 'text', //鼠标拖拽样式,十字,文本等 handle : '#pox', //句柄,设置后只在设置后只能在当前元素下实现拖拽 disabled : false, //设置是否可以被拖拽 edge : 50, //设置边界往内多大距离可以实现拖拽 axis : 'v', //设置拖拽方向,v:垂直拖拽,h:水平拖拽 proxy: 'clone', //设置代理元素,使用clone时为复制当前元素 deltaX : 10, //被拖拽元素左上角距离当前光标的X轴方向的距离 deltaY : 10, //被拖拽元素左上角距离当前光标的Y轴方向的距离 proxy: function(source){ //自定义代理元素 var p = $('<div style="border:1px solid #ccc;width:400px;height:200px;"></div>'); p.html($(source).html()).appendTo('body'); return p; }, }); //HTML部分 <div id="box" style="width:400px;height:200px;background:red;"> 内容部分 </div>
二、事件(第二是事件)
1.onBeforeDrag 拖动前发生
$('#box').draggable({ onBeforeDrag : function (e) { alert('拖动之前触发!'); //return false; } });
在拖动前发生,既当鼠标点击元素时发生,当返回false时将无法拖拽,我们不会让它直接返回false,因为这样没有任何意义,在使用时应该有充足的逻辑判断。
2.onStartDrag 拖动开始时发生
$('#box').draggable({ onStartDrag : function (e) { alert('拖动开始时触发!'); //return false; } });
在鼠标点击后拖动的一瞬间执行,执行时间在onBeforeDrag之后。
3.onDrag拖拽过程中执行
$('#box').draggable({ onDrag : function (e) { alert('拖动过程中触发!'); } }); 在拖
动的过程中执行,当鼠标一移动就会执行,当不能拖动时返回false
4.onStopDrag 拖动停止后发生
$('#box').draggable({ onStopDrag : function (e) { alert('在拖动停止时触发!'); } });
在拖动结束后触发,即松开鼠标时执行,无返回值。
5.以上事件可组合使用,执行顺序为onBeforeDrag --> onBeforeDrag --> onDrag --> onStopDrag
$('#box').draggable({ onBeforeDrag : function (e) { alert('拖动之前触发!'); //return false; }, onStartDrag : function (e) { alert('拖动时触发!'); }, onDrag : function (e) { alert('拖动过程中触发!'); }, onStopDrag : function (e) { alert('在拖动停止时触发!'); },});
三、方法(第三是方法)
方法名:说明
option :返回属性对象
proxy :如果代理属性被设置则返回该拖动代理元素
enabl :允许拖
disable :禁止拖动
//返回属性对象 console.log($('#box').draggable('options')); //返回代理元素 onStartDrag : function (e) { console.log($('#box').draggable('proxy')); }, //禁止拖动 $('#box').draggable('disable'); //允许拖放 $('#box').draggable('enable');
四、设置默认属性(这是最后一个设置)
在一次设置后当前页面所有拖拽都会共享这个属性,不用再去设置。
$(function(){ $.fn.draggable.defaults.cursor = 'text'; });
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在css中,font的意思是“字体”,是一个简写属性,用于设置所有字体属性;font属性可以按顺序设置字体的样式,语法为“元素{font:style variant weight size/height family;}”。
HTML中跨列属性COLSPAN用法是什么,如果你正在学习HTML,不妨都看看小编所整理的资料,希望能在工作中帮助到你。
flex文本溢出的情况怎么办,处理方案是什么?在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在css中,可以利用position属性把导航栏固定住,只需要给导航栏元素添加“position:fixed;”样式,将导航栏相对于浏览器窗口进行固定定位即可,这样被固定的导航栏元素就不会随着滚动条的拖动而改变位置。
这篇文章主要介绍了html父子页面iframe双向发消息的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008