zoukankan      html  css  js  c++  java
  • jQuery EasyUI 拖放 – 基本的拖动和放置

    jQuery EasyUI 拖放 -

    基本的拖动和放置 在jQuery EasyUI中,可以实现HTML元素的基本拖动和放置。

      <div id="dd1" class="dd-demo"></div>
        <div id="dd2" class="dd-demo"></div>
        <div id="dd3" class="dd-demo"></div>
    .dd-demo{
        width:40px;
        height:40px;
        background-color:pink;
        margin:20px;
    }

    对于第一个<div>元素,我们通过默认值让其可以拖动。

    $('#dd1').draggable();

    对于第二个<div>元素,我们通过创建一个克隆(clone)了原来元素的代理(proxy)让其可以拖动:

    $('#dd2').draggable({
            proxy:'clone'
        });

    对于第三个<div>元素,我们通过创建自定义代理(proxy)让其可以拖动:

    $('#dd3').draggable({
            proxy:function(source){
                var p = $('<div class="proxy">proxy</div>');
                p.appendTo('body');
                return p;
            }
        });

     revert:true(拖拽后会还原)

    $('#d1').draggable({
        revert:true,
        proxy:'clone'
    });

    制作课表:

    <!-- 显示学校科目 -->
        <div class="left" >
            <table border ="1">
                <tr>
                    <td><div class="item">English</div></td>
                </tr>
                <tr>
                    <td><div class="item">Science</div></td>
                </tr>
                <tr>
                    <td><div class="item">Math</div></td>
                </tr>
                <!-- other subjects -->
            </table>
        </div>
        
        <!-- 显示时间表 -->
        <div class="right">
            <table  border ="1">
                <tr>
                    <td class="blank"></td>
                    <td class="title">Monday</td>
                    <td class="title">Tuesday</td>
                    <td class="title">Wednesday</td>
                    <td class="title">Thursday</td>
                    <td class="title">Friday</td>
                </tr>
                <tr>
                    <td class="time">08:00</td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                </tr>
                <tr>
                    <td class="time">09:00</td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                </tr>
                <tr>
                    <td class="time">10:00</td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                    <td class="drop"></td>
                </tr>
                <!-- other cells -->
            </table>
        </div>
        
    //拖动在左侧的学校科目
    $('.left .item').draggable({
            revert:true,
            proxy:'clone'
        });
    
    
    //放置学校科目在时间表单元格上
    $('.right td.drop').droppable({
        onDragEnter:function(){
            $(this).addClass('over');
        },
        onDragLeave:function(){
            $(this).removeClass('over');
        },
        onDrop:function(e,source){
            $(this).removeClass('over');
            if ($(source).hasClass('assigned')){
                $(this).append(source);
            } else {
                var c = $(source).clone().addClass('assigned');
                $(this).empty().append(c);
                c.draggable({
                    revert:true
                });
            }
        }
    });

    正如您所看到的上面的代码,当用户拖动在左侧的学校科目并放置到时间表单元格中时,onDrop回调函数将被调用。我们克隆从左侧拖动的源元素并把它附加到时间表单元格上。当把学校科目从时间表的某个单元格拖动到其他单元格,只需简单地移动它即可。

    下载 jQuery EasyUI 实例

    jeasyui-dd-timetable.zip

  • 相关阅读:
    简单计算器
    dfs(通过控制点的编号来得出每个点的坐标)
    dfs(通过控制点的编号来得出每个点的坐标)
    神奇的 组合数
    神奇的 组合数
    B. Light It Up
    B. Light It Up
    Python 字符串
    Python radians() 函数
    Python degrees() 函数
  • 原文地址:https://www.cnblogs.com/lukelook/p/11179590.html
Copyright © 2011-2022 走看看