zoukankan      html  css  js  c++  java
  • EasyUI基础Draggable(拖)

           学前easyui基于解析器,装载机。对他们来说,入门阶段,我们只需要在这一个简单的了解,第一阶段,不宜过深后,。

    接着,根据easyui排列官方网站为了学习文件Draggable小工具。

    Draggable是什么

           Draggable是easyui中用于实现拖拽功能的一个插件。利用它,我们能够实现控件的拖拽效果。

           Draggble覆盖默认值$.fn.draggable.defaults。

    Draggable

           以下看看官网对于Draggable的描写叙述吧。

    属性

           其属性例如以下表所看到的:

    名称

    类型

    描写叙述

    默认值

    proxy

    string,function

    在拖动过程中会被使用到的一个代理元素,当设置为‘clone’,一个clone的元素作为代

    理对象使用,假设定义的是一个函数,该函数必须返回一个JQuery对象,以下展示怎样

    创建一个简单的代理对象.

    $('dragitem').draggable({

          proxy:function(source){

           var p = $('<div style="border:1px solid=#ccc;80px"></div>');

           p.html($(source).html()).appendTo('body');

           return p;

    }

    });

    null

    revert

    boolean

    假设设置为true,当拖动结束后,该元素将回到開始的位置

    false

    cursor

    string

    当拖动的时候,一个css cursor(鼠标的样式),这里须要说明的是easyui的鼠标样式有很多比如:等待状态、help、手型等等。其cursor属性的值和w3c相应。后面我将给出cursor具有哪些可选值。

    move

    deltaX

    number

    拖动元素位置x相应当前光标

    null

    deltaY

    number

    拖动元素位置y相应当前光标

    null

    handle

    selector

    能够被拖动元素的选择器

    null

    disabled

    boolean

    true停止拖拽

    false

    edge

    number

    拖动的宽度,距离边缘多少能够被拖动()

    0

    axis

    string

    定义一个拖动元素拖动的轴,能够是'v'或者'h',当设置为 null时,能够水平或垂直方向随意拖动

    null

        

            上面表格中有一个很有意思的属性"cursor",表示为拖动元素时鼠标的样式,只是其值域是什么呢?

    事实上W3C已经定义好了,详细cursor可选的值能够參考例如以下链接:http://www.w3school.com.cn/tiy/t.asp?f=csse_cursor

            一个简单的样例,代码例如以下:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="UTF-8">
        <title>Basic Draggable - jQuery EasyUI Demo</title>
        <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/themes/metro/easyui.css">
        <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/themes/icon.css">
        <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/demo/demo.css">
        <script type="text/javascript" src="jquery-easyui-1.3.6/jquery.min.js"></script>
        <script type="text/javascript" src="jquery-easyui-1.3.6/jquery.easyui.min.js"></script>
    </head>
    
    <body>
        <h2>Basic Draggable</h2>
        <p>Move the boxes below by clicking on it with mouse.</p>
        <div id="dd" class="easyui-draggable" data-options="handle:'#title'" style="100px;height:100px;">
            <div id="title" style="background:#ccc;100px;height:100px;">容器里面的内容</div>
        </div>
        <script>
            $(function () {
    
                $("#title").draggable({
                    proxy: function (a) {
                        var a = $('<div class="proxy_div">你拖我干啥</div>');
                        a.appendTo('body');
                        return a;
                    },
                    cursor: 'pointer',
                    edge: '6'
                });
            });
        </script>
    </body>
    
    </html>


                 上述代码的效果图QQ截图20140529095009须要说明的是:这里因为截图焦点不再页面上了。手型的光标看不见了。事实上光标在"你拖我干啥"上面。这也间接的说明了proxy属性为function时的效果。至于其它鼠标css,读者能够自行尝试。

    事件

         Draggable的事件还是比較好理解的,详细例如以下:

     

    名称 參数 描写叙述信息
    onBeforeDrag e 拖动之前触发,返回false则取消拖拽动作
    onStartDrag e 目标对象開始拖动时触发
    onDrag e 拖动期间触发
    onStopDrag e 当拖动结束的时候触发

    方法

    名称 參数 描写叙述信息
    options none 返回options属性
    proxy none 假设proxy属性已经设置,则返回代理对象
    enable none 启动拖动动作
    disable none 禁用拖动动作

    使用方式

           两种使用的方式:

    1. 通过html标记创建,方法例如以下:
     
    <div id="dd" class="easyui-draggable" data-options="handle:'#title'" style="100px;height:100px;">
            <div id="title" style="background:#ccc;100px;height:100px;">容器里面的内容</div>
     </div>

          2. 通过js脚本创建:

    <div id="dd" style="100px;height:100px;">
        <div id="title" style="background:#ccc;">title</div>
    </div>
    <script>
        $('#dd').draggable({
            handle: '#title'
        });
    </script>


    Demo

          对于Draggable。官网提供了一些个样例地址例如以下:http://www.jeasyui.com/demo/main/index.php?plugin=Draggable&theme=default&dir=ltr&pitem=

          初学者的话,上述demo样品是足够。

    over!

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    kettle结合MySQL生成保留最近6个月月度报告_20161009
    reduce用法
    【npm下载依赖包失败】gyp ERR! stack Error: EACCES: permission denied, mkdir问题解决方案
    【前端算法3】插入排序
    【前端算法2】快速排序
    【前端算法1】二分查找
    diy 滚动条 样式 ---- 核心代码
    [数据结构] 栈
    [数据结构] 列表
    day02 Python 运算符
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4689139.html
Copyright © 2011-2022 走看看