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

2016-02-19 10:10 9 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();}

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

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

延伸阅读
标签: PS教程 PS基础
很多人都会用到Photoshop的图层样式,但却很少有人会用到图层样式的缩放效果。使用Photoshop图层样式中的“缩放效果”命令,可以同时缩放图层样式中的各种效果,而不会缩放应用了图层样式的对象。 当对一个图层应用了多种图层样式时,“缩放效果”则更能发挥其独特的作用。由于“缩放效果”是对这些图层样式同时起作用,能够省去单独调...
排卵试纸显示强阳 把握最佳受孕时间 如果是正常的育龄 女性 ,每个月都会有排卵期,卵子在体内发育成熟后会排出,在输卵管的运输下进入 子宫 。受孕是指在输卵管中, 精子 与成熟的卵细胞结合后,受精卵进入子宫。 男性 的精子在女性的输卵管中可以生存一到三天,女性的卵细胞最好的受精时间是排卵后三十六小时...
标签: 皮肤护理
问答 图钉提问: 患者年龄:治疗过,不管用,用的什么珍爱乳腺贴,连个屁用都不顶,什么药啊,坑人钱的都是,听我朋友说乳安强磁贴效果不错,是这样吗? 想得到帮助:有谁用过的说下 图老师解答: 病情分析:       从你的描述来看,你的情况是有乳腺增生合并乳腺纤维瘤的表现的,这个乳腺纤维瘤是一个良性的...
标签: 办公软件
   ★建立“宏”     在建立新的“宏”之前需要将光标定位在文档的开始或末尾。     1、选择“工具”菜单中的 “宏”命令中的“录制新宏”子命令,出现如图1所示对话框。 图1     2、在“录制宏”对话框的“宏名”文字编辑框中输入为“宏”起的名字,如“...
不同点:  1. truncate和 delete只删除数据不删除表的结构(定义)      drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的 存储过程/函数将保留,但是变为invalid状态.  2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后...

经验教程

97

收藏

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