dojo1.0的dnd示例以及问题!(蓝色条幅的位置问题!)

DiligencyMan 2008-02-21 05:41:57
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Dojo DnD test</title>
<style type="text/css">
@import "../../resources/dojo.css";
@import "../../resources/dnd.css";
@import "dndDefault.css";
body {
padding: 1em;
background: #FFFFFF;
}
.containerLeft {
BORDER-RIGHT: #669999 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #669999 2px solid; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #669999 2px solid; WIDTH:150px;HEIGHT:300px;PADDING-TOP: 5px; BORDER-BOTTOM: #669999 2px solid
}
.containerRight{
BORDER-RIGHT: #669999 2px solid; PADDING-RIGHT: 5px;HEIGHT:400px; BORDER-TOP: #669999 2px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #669999 2px solid; WIDTH:700px;HEIGHT:300px;PADDING-TOP: 5px; BORDER-BOTTOM: #669999 2px solid;
}
.clear {
clear: both;
}
</style>
<script type="text/javascript" src="../../dojo.js" djConfig="isDebug: false, parseOnLoad: true"></script>
<script type="text/javascript">
dojo.require("dojo.parser");
dojo.require("dojo.dnd.Source");
var total = 0;
function ClearMsg()
{
// dojo.byId("msg").innerHTML = "";
}
function init(){
dojo.subscribe("/dnd/start", function(source,nodes,iscopy){
});
dojo.subscribe("/dnd/drop/before", function(source, nodes, copy, target){
if(target == c2){
}
});
dojo.subscribe("/dnd/drop", function(source,nodes,iscopy){
var t = dojo.dnd.manager().target;
var noid= nodes[0].id;
var jsnode = source.getItem(nodes[0].id);
var x=c1.getAllNodes();
for(i =0;i<x.length;i++){
//jsNode is javascript object for node
//x[i] represents HTML element for the node
var jsnode = c2.getItem(x[i].id);
}
if(nodes){
var node=nodes[0];
if(node.parentNode.id=="left"){
var value=node.innerHTML;
node.innerHTML=value.substring(0,value.length-6);
var p=document.getElementById(""+noid);
p.style.styleFloat = 'none';
}else{
if(node.parentNode.id=="right"){
// alert(source);
for(attrubute in source)
{
if(attrubute=="horizontal"){
//alert(attrubute.value);
}
}
// set the column name to object.
var columnName=node.getAttribute("columnName");
// alert("columnName:"+columnName);
if(columnName){
}else{

node.setAttribute("columnName",node.innerHTML);
}

// var value=node.innerHTML;
var table=document.createElement("table");
var tbody=document.createElement("tbody");
var tr=document.createElement("tr");
var td=document.createElement("td");

td.innerHTML="value";
tr.appendChild(td);
tbody.appendChild(tr);
table.appendChild(tbody);
node.appendChild(table);

var p=document.getElementById(""+noid);

p.style.styleFloat = 'left';
}if(node.parentNode.id=="left"){
var columnName=node.getAttribute("columnName");
alert(columnName);
if(columnName){
alert(1);
node.innerHTML=columnName;
}

}
}
}
dojo.connect(c2, "onDndDrop", function(source, nodes, copy, target){
if(target == c2){
//console.debug(copy ? "Copying from" : "Moving from", source);
}
});
ClearMsg();
});
dojo.subscribe("/dnd/cancel", function(){
ClearMsg();
});
}
dojo.addOnLoad(init);
</script>
</head>
<body>
<div id="dragLists">
<div style="float: left; margin: 5px;">
<h3>Source 2</h3>
<div dojoType="dojo.dnd.Source" jsId="c1" id="left" class="containerLeft">
<div class="dojoDndItem">Item <strong>X</strong></div>
<div class="dojoDndItem">Item <strong>Y</strong></div>
<div class="dojoDndItem">Item <strong>Z</strong></div>
<div class="dojoDndItem">Item <strong>Alpha</strong></div>
<div class="dojoDndItem">Item <strong>Beta</strong></div>
<div class="dojoDndItem">Item <strong>Gamma</strong></div>
<div class="dojoDndItem">Item <strong>Delta</strong></div>
</div>
</div>
<div style="float: left; margin: 5px;">
<h3>Source 3</h3>
<div dojoType="dojo.dnd.Source" jsId="c2" class="containerRight" id="right">
</div>
</div>
</div>
<br>
<br>
</body>
</html>



其中dojo1.0,请到官方网址下吧,这里不帖出来啦!
我的问题是这样的,当右边有2个div的时候,比方说X与Y,然后再拖Z到X与Y中间,但是那个指示蓝色条幅出现在X那个div层的上边或者是Y那个div层的上面,怎么改动才会让这个蓝色条幅出现在X与Y中间呢?

不知道我说的是否明白,如果有不明白的地方那个,请指出来。
...全文
156 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovezx1028 2009-07-06
  • 打赏
  • 举报
回复
din.g............
manlibie 2008-03-11
  • 打赏
  • 举报
回复
web开发里面进去就是啦!
DiligencyMan 2008-03-03
  • 打赏
  • 举报
回复
怎么进去ajax专区》?
hsj454174023 2008-03-03
  • 打赏
  • 举报
回复
不行啊,兄弟。 偶也不会,帮你顶一下!
看了你在Ajax区的帖子。希望可以早点找到答案结贴~
呵呵
叶子 2008-03-03
  • 打赏
  • 举报
回复
友情up~
tiandaqian 2008-02-28
  • 打赏
  • 举报
回复
不行了,问得好多人也没结果,不过人家都建议哥哥把帖子贴到"ajax技术"(https://forum.csdn.net/SList/Ajax/)可能懂的人比较多
老紫竹 2008-02-27
  • 打赏
  • 举报
回复
dojo不熟,帮不了你! Ext 还可以考虑,我用那个!
DiligencyMan 2008-02-25
  • 打赏
  • 举报
回复
就是非得这样做啊,我对dojo的框架不熟悉,不知道改哪里可以实现这个功能的。
指点下啊!
tiandaqian 2008-02-25
  • 打赏
  • 举报
回复
没有简单的办法,呵呵,哥哥是想要一条竖线吧,可惜需要画图(横线只要<br>就行了),你干脆在右边竖着排得了,这样看着就比较顺眼了,要是非得这么排,我就去帮你想辙,哈哈
DiligencyMan 2008-02-22
  • 打赏
  • 举报
回复
有人会吗?帮忙看下啊,谢谢啦!

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧