作者:哈王豐3_408 | 来源:互联网 | 2020-09-08 08:37
本篇文章主要为大家讲述的技术关于draggable属性实现页面拖动的效果,往下读下去,一步步的你会发现这个其实也不是很难,现在让我们一起来看这篇文章吧
本篇文章就是介绍Draggable(拖动)即实现页面元素的拖动效果的,所以,一步一步的来。
一、加载方式(首先是加载方式)
1.css样式加载:
内容部分
使用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 = $('');
p.html($(source).html()).appendTo('body');
return p;
},
});
//HTML部分
内容部分
二、事件(第二是事件)
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('在拖动停止时触发!');
},});
三、方法(第三是方法)
方法名:说明
//返回属性对象
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';
});
以上就是这篇关于draggable属性的页面拖动方面的全部内容了(想学更多就来PHP中文网),有问题的可以在下方提问。
【小编推荐】
html中的ol标签如何去掉标号呢?
标签的使用方法总结
HTML中ul标签如何去掉点?HTML无序列表的样式实例解析
以上就是html5draggable属性是如何做到页面拖动效果的?方法总结在这里!的详细内容,更多请关注 第一PHP社区 其它相关文章!