HTML5中怎样利用draggable属性实现页面拖动
Admin 2022-07-15 群英技术资讯 1226 次浏览
这篇文章给大家分享的是HTML5中怎样利用draggable属性实现页面拖动。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。一、加载方式(首先是加载方式)
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中,可用keyframes规则、animation和transform属性实现上下运动效果,写法“元素{animation:名称 时间}@keyframes 名称{50%{transform:translateY(移动距离)}}”。
我们在编写代码的时候是不是都会发现浏览器中有浮动呢?那么你知道css要怎么清除浮动吗?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
word-spacing属性用于设置HTML页面中标签或单词之间的距离。该属性对英语有效,但对中文无效。word-spacing属性值有三种类型,Normal、长度值和百分比。
三栏布局在实际的开发十分常见,比如淘宝网的首页,即左边商品导航和右边导航固定宽度,中间的主要内容随浏览器宽度自适应,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
块元素位置居中有两种存在:一种是有两个块元素,其中一个块元素相对另外一个块元素居中;另外一种是一个块元素相对于顶级父容器居中 第一种实现方式如下: <html><head><metacharset="utf-8"/><title>测试</title><styletype=&q
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008