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

推荐末日

推荐末日

2016-02-19 10:10

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

如今各种使用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://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

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

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

AJAX架构之Dojo篇

Web开发
AJAX架构之Dojo篇

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

DOJO企业CI识别系统设计一

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
DOJO企业CI识别系统设计一

DOJO企业CI识别系统设计二

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
DOJO企业CI识别系统设计二

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

拖动Html元素集合 Drag and Drop any item

Web开发
拖动Html元素集合 Drag and Drop any item

突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述

Web开发
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用javascript父窗口控制只弹出一个子窗口

用javascript父窗口控制只弹出一个子窗口

android LinearLayout 布局实例代码

android LinearLayout 布局实例代码
下拉加载更多内容 ↓