• 技术文章 >web前端 >H5教程

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

    寻∝梦寻∝梦2018-08-31 16:45:11原创2909
    本篇文章主要为大家讲述的技术关于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('在拖动停止时触发!');
    },});

    三、方法(第三是方法)

    方法名:说明

    //返回属性对象
    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标签如何去掉标号呢?<ol>标签的使用方法总结

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

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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    快捷开发Web应用及小程序:点击使用

    支持亿级表,高并发,自动生成可视化后台。

    专题推荐:draggable html
    上一篇:html5的新特性有哪些?html5新特性的总结 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 如何使用jQuery Draggable和Droppable实现拖拽功能_jquery• Draggable Elements 元素拖拽功能实现代码_javascript技巧• Jquey拖拽控件Draggable使用方法(asp.net环境)_jquery• draggable讲解• html5规定元素是否可拖动的属性draggable
    1/1

    PHP中文网