html5draggable属性是如何做到页面拖动效果的?方法总结在这里!

本篇文章主要为大家讲述的技术关于draggable属性实现页面拖动的效果,往下读下去,一步步的你会发现这个其实也不是很难,现在让我们一起来看这篇文章吧

本篇文章就是介绍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';
});

以上就是这篇关于draggable属性的页面拖动方面的全部内容了(想学更多就来编程之家),有问题的可以在下方提问。

【小编推荐】

html中的ol标签如何去掉标号呢?<ol>标签的使用方法总结

HTML中ul标签如何去掉点?HTML无序列表的样式实例解析

以上就是html5draggable属性是如何做到页面拖动效果的?方法总结在这里!的详细内容,更多请关注编程之家其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码
HTML5使用DOM进行自定义控制
使用HTML5 Canvas绘制阴影效果的方法
使用PHP和HTML5 FormData实现无刷新文件上传
如何解决HTML5 虚拟键盘出现挡住输入框的问题
HTML5中div和section以及article的区别分析
html5和CSS 实现禁止IOS长按复制粘贴功能
html5 touch事件实现触屏页面上下滑动
canvas 模拟实现电子彩票刮刮乐的代码
HTML5 Plus 实现手机APP拍照或相册选择图片上传的功能
Android自定义环形LoadingView效果
HTML5 canvas绘制五角星的方法
html5使用html2canvas实现浏览器截图
使用Canvas处理图片的方法介绍
利用Canvas模仿百度贴吧客户端loading小球的方法