Dojo之路:如何利用Dojo实现Drag and Drop效果

2016-02-19 10:10 6 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是Dojo之路:如何利用Dojo实现Drag and Drop效果,一起来学习了解下吧!

【 tulaoshi.com - Web开发 】

如今各种使用AJAX技术的站点都实现了Drag and Drop(拖动)效果,利用Dojo框架也可以很方便的实现,相比较其它框架,代码更少,且对浏览器的兼容性支持比较好。

  先看一下效果,以下是51AJAX.com站点首页的效果,其中各个模块是可以任意拖动的:
  

  如何来实现呢?以下是具体步骤。为简单起见,做了一个Drag and Drop的Demo页面:

  
  以下是具体步骤:
  1.html部分
  要实现拖动,首先要有容器,其次要有可拖动的元素。在这里我们设置了三个Div作为容器,ID分别是container1,container2,container3,每个容器中各放置了一个Div作为可拖动元素,它们的class是divdrag。
  2.javascript代码  
  首先在头部加入对dojo.js的引用,然后根据获取class为divdrag的元素,把它们注册为dojo.dnd.HtmlDragSource对象,再将container1,container2,container3注册为三个容器,且指定容器中的可拖动元素可以被拖动到的容器,以上事件封装成一个函数,增加至window.onload事件中。

代码如下:

//引用以下两个dojo包 
dojo.require("dojo.style");
dojo.require("dojo.dnd.*");

function init(){
  //利用classname取到元素列表,将其注册为dojo.dnd.HtmlDragSour
  var arr=dojo.html.getElementsByClass('divdrag')
  for(var i=0;iarr.length;i++){
   var parentDiv=arr[i].parentNode.id
   new dojo.dnd.HtmlDragSource(arr[i],parentDiv);   
  }
  //定义容器 
     new dojo.dnd.HtmlDropTarget("container1", ["container1","container2","container3"]);   
     new dojo.dnd.HtmlDropTarget("container2", ["container1","container2","container3"]);   
     new dojo.dnd.HtmlDropTarget("container3", ["container1","container2","container3"]);       
}

//增加到window.onload事件中
window.onload=function(){init();}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

来源:https://www.tulaoshi.com/n/20160219/1593642.html

延伸阅读
标签: PS教程 PS基础
很多人都会用到Photoshop的图层样式,但却很少有人会用到图层样式的缩放效果。使用Photoshop图层样式中的“缩放效果”命令,可以同时缩放图层样式中的各种效果,而不会缩放应用了图层样式的对象。 当对一个图层应用了多种图层样式时,“缩放效果”则更能发挥其独特的作用。由于“缩放效果”是对这些图层样式同时起作用,能够省去单独调...
排卵试纸显示强阳 把握最佳受孕时间 如果是正常的育龄 女性 ,每个月都会有排卵期,卵子在体内发育成熟后会排出,在输卵管的运输下进入 子宫 。受孕是指在输卵管中, 精子 与成熟的卵细胞结合后,受精卵进入子宫。 男性 的精子在女性的输卵管中可以生存一到三天,女性的卵细胞最好的受精时间是排卵后三十六小时...
不同点:  1. truncate和 delete只删除数据不删除表的结构(定义)      drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的 存储过程/函数将保留,但是变为invalid状态.  2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后...
在微软的很多软件(如WORD)的工具栏中,都采用一种浮动按纽,即正常情况下按纽的图标呈灰色,当鼠标移动到某一按纽时,该按纽自动向上凸起且变为彩色,并在按纽的右下方有一标签提示该按纽的功能,鼠标移开后又自动还原,这种按纽用VB实现时,方法如下: 1.先用绘图工具作出按纽图标后存盘(如1.bmp),再用图象处理软件将该图标转换为灰度...
首先,新建一工程,名为Server,新建一个窗体,Name为Server,在窗体中加入一个winsock控件,Name设为sckServer,协议设为默认的TCP/IP协议。 接下来我们回来Server窗体模块中,添加如下代码: ->PrivateSubform_Load() WithMe .sckServer.LocalPort=88917'本地端口(呵呵!我的生日!) .sckServer.Liste...

经验教程

343

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部