
首先,我们创建三个<div> 元素:
<div id="dd1" class="dd-demo"></div><div id="dd2" class="dd-demo"></div><div id="dd3" class="dd-demo"></div>对于第一个>div<元素,我们通过默认值让其可以拖动。
$("#dd2").draggable({ proxy:"clone"});对于第三个<div> 元素,我们通过创建自定义代理(proxy)让其可以拖动。$("#dd3").draggable({ proxy:function(source){ var p = $("<div class="proxy">proxy</div>"); p.appendTo("body"); return p; }});下面为大家分享学校课程表简单实例,欢迎大家学习:
显示学校科目
<div class="left"> <table> <tr><td><div class="item">English</div></td> </tr> <tr><td><div class="item">Science</div></td> </tr> <!-- other subjects --> </table></div>显示时间表
<div class="right"> <table> <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> <!-- 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 回调函数将被调用。我们克隆从左侧拖动的源元素并把它附加到时间表单元格上。 当把学校科目从时间表的某个单元格拖动到其他单元格,只需简单地移动它即可。