如题
结构为
A
a001
a002
B
b001
b002
想实现
从 A 的下级目录拖到B 中
下面是从网上down 下的源码
但我需要的是 <ul> <li>这种而且需要更新数据库
<div id="container1" container="true" style="width:200px;height:300px;background-color:FFFff2;float:left">
<div id="test1" dragable="true" style="width:200px;background-color:FF00F0;cursor:pointer" >111 </div>
<div id="test2" dragable="true" style="width:200px;background-color:FFAAF0;cursor:pointer">222 </div>
<div id="test3" dragable="true" style="width:200px;background-color:FF76AF;cursor:pointer">333 </div>
<div id="test4" dragable="true" style="width:200px;background-color:FFA770;cursor:pointer">444 </div>
<div id="test5" dragable="true" style="width:200px;background-color:a90aF0;cursor:pointer">555 </div>
</div>
<div id="container3" align="center" style="width:100px;height:300px;float:left">
?
</div> <div id="container2" container="true" style="width:200px;height:300px;background-color:FFFff2;float:left">
<div id="test6" dragable="true" style="width:200px;background-color:b2FF02;cursor:pointer">666 </div>
<div id="test7" dragable="true" style="width:200px;background-color:b2FF02;cursor:pointer">777 </div>
<div id="test8" dragable="true" style="width:200px;background-color:b2AA02;cursor:pointer">888 </div>
<div id="test9" dragable="true" style="width:200px;background-color:b2BBC2;cursor:pointer">999 </div>
<div id="test10" dragable="true" style="width:200px;background-color:b22AAA;cursor:pointer">1010 </div>
</div>
<script language="javascript"> var Drag = {
"moveDiv":null,
"dragObj":null,
"draging":false,
"start":function(ev){ Drag.dragObj = Utils.getTarget(ev);
if(Drag.isdragable()){
Drag.createDiv();
Drag.draging = false;
}
return false;
},
"draging":function(ev){
if(!Drag.isdragable() || Drag.moveDiv == null){
return;
}
// 设置被选定对象的鼠标跟随效果
if(!Drag.draging){
var move = Drag.dragObj.cloneNode(true);
Drag.moveDiv.appendChild(move);
}
Drag.moveDiv.style.top = (Utils.getPosition(ev)).top;
Drag.moveDiv.style.left = (Utils.getPosition(ev)).left; // 使用DOM操作,替换拖动过程中元素的位置
var mouseOverObj = Utils.getTarget(ev);
if(mouseOverObj.getAttribute("dragable") || mouseOverObj.getAttribute("container")){
if(Drag.dragObj.parentNode != mouseOverObj.parentNode){
if(mouseOverObj.nextSibling){ mouseOverObj.parentNode.insertBefore(Drag.dragObj,mouseOverObj);
}else{ mouseOverObj.parentNode.appendChild(Drag.dragObj);
}
}else{
if(mouseOverObj.nextSibling){ Drag.dragObj.parentNode.insertBefore(Drag.dragObj,mouseOverObj);
}else{ Drag.dragObj.parentNode.appendChild(Drag.dragObj);
}
}
}
// 设置状态为拖动中
Drag.draging = true;
return false;
},
"end":function(){ Drag.dragObj = null;
Drag.removeDiv();
Drag.draging = false;
return false;
},
"removeDiv":function(){ // 移除拖动时跟随鼠标移动的虚拟DIV层
if(Drag.moveDiv != null){
Drag.moveDiv.style.display = "none";
Drag.moveDiv.parentNode.removeChild(Drag.moveDiv);
Drag.moveDiv = null;
}
},
"createDiv":function(){
// 初始化拖动时跟随鼠标移动的虚拟DIV层
Drag.removeDiv();
Drag.moveDiv = document.createElement("div");
Drag.moveDiv.style.cssText = "position:absolute;z-index:10;";
document.body.appendChild(Drag.moveDiv);
},
"isdragable":function(){
// 验证当前对象是否为可拖动的对象
if(Drag.dragObj == null || !Drag.dragObj.getAttribute("dragable")){
return false;
}
return true;
}
} var Utils = {
"getTarget":function(ev){
// 获得当前的目标源对象
ev = ev || window.event;
var tget = ev.target || ev.srcElement;
return tget;
},
"getPosition":function(ev){
// 设置坐标
// 模拟一个鼠标跟随的效果
ev = ev || window.event;
return {top:document.body.scrollTop + ev.clientY + 10,
left:document.body.scrollLeft + ev.clientX + 10};
}
}
document.onmousemove = Drag.draging;
document.onmouseup = Drag.end;
document.onmousedown = Drag.start; </script>
就相当于
.AAAA
。AAAA1
。AAAA2
.BBBB
。BBBB1
。BBBB2
这就是我的树形菜单 我需要
选择
。AAAA1
并且移动到 .BBBB的时候
.AAAA
。AAAA2
.BBBB
。AAAA1
。BBBB1
。BBBB2
就变成 这样的
动态更新我会使用Ajax实现的
而且上面的代码已经实现了拖动的效果
只是 我还需要 取到目标的对象
也就是
.BBBB的对象 我要确定拖动到哪个下面了
结构为
A
a001
a002
B
b001
b002
想实现
从 A 的下级目录拖到B 中
下面是从网上down 下的源码
但我需要的是 <ul> <li>这种而且需要更新数据库
<div id="container1" container="true" style="width:200px;height:300px;background-color:FFFff2;float:left">
<div id="test1" dragable="true" style="width:200px;background-color:FF00F0;cursor:pointer" >111 </div>
<div id="test2" dragable="true" style="width:200px;background-color:FFAAF0;cursor:pointer">222 </div>
<div id="test3" dragable="true" style="width:200px;background-color:FF76AF;cursor:pointer">333 </div>
<div id="test4" dragable="true" style="width:200px;background-color:FFA770;cursor:pointer">444 </div>
<div id="test5" dragable="true" style="width:200px;background-color:a90aF0;cursor:pointer">555 </div>
</div>
<div id="container3" align="center" style="width:100px;height:300px;float:left">
?
</div> <div id="container2" container="true" style="width:200px;height:300px;background-color:FFFff2;float:left">
<div id="test6" dragable="true" style="width:200px;background-color:b2FF02;cursor:pointer">666 </div>
<div id="test7" dragable="true" style="width:200px;background-color:b2FF02;cursor:pointer">777 </div>
<div id="test8" dragable="true" style="width:200px;background-color:b2AA02;cursor:pointer">888 </div>
<div id="test9" dragable="true" style="width:200px;background-color:b2BBC2;cursor:pointer">999 </div>
<div id="test10" dragable="true" style="width:200px;background-color:b22AAA;cursor:pointer">1010 </div>
</div>
<script language="javascript"> var Drag = {
"moveDiv":null,
"dragObj":null,
"draging":false,
"start":function(ev){ Drag.dragObj = Utils.getTarget(ev);
if(Drag.isdragable()){
Drag.createDiv();
Drag.draging = false;
}
return false;
},
"draging":function(ev){
if(!Drag.isdragable() || Drag.moveDiv == null){
return;
}
// 设置被选定对象的鼠标跟随效果
if(!Drag.draging){
var move = Drag.dragObj.cloneNode(true);
Drag.moveDiv.appendChild(move);
}
Drag.moveDiv.style.top = (Utils.getPosition(ev)).top;
Drag.moveDiv.style.left = (Utils.getPosition(ev)).left; // 使用DOM操作,替换拖动过程中元素的位置
var mouseOverObj = Utils.getTarget(ev);
if(mouseOverObj.getAttribute("dragable") || mouseOverObj.getAttribute("container")){
if(Drag.dragObj.parentNode != mouseOverObj.parentNode){
if(mouseOverObj.nextSibling){ mouseOverObj.parentNode.insertBefore(Drag.dragObj,mouseOverObj);
}else{ mouseOverObj.parentNode.appendChild(Drag.dragObj);
}
}else{
if(mouseOverObj.nextSibling){ Drag.dragObj.parentNode.insertBefore(Drag.dragObj,mouseOverObj);
}else{ Drag.dragObj.parentNode.appendChild(Drag.dragObj);
}
}
}
// 设置状态为拖动中
Drag.draging = true;
return false;
},
"end":function(){ Drag.dragObj = null;
Drag.removeDiv();
Drag.draging = false;
return false;
},
"removeDiv":function(){ // 移除拖动时跟随鼠标移动的虚拟DIV层
if(Drag.moveDiv != null){
Drag.moveDiv.style.display = "none";
Drag.moveDiv.parentNode.removeChild(Drag.moveDiv);
Drag.moveDiv = null;
}
},
"createDiv":function(){
// 初始化拖动时跟随鼠标移动的虚拟DIV层
Drag.removeDiv();
Drag.moveDiv = document.createElement("div");
Drag.moveDiv.style.cssText = "position:absolute;z-index:10;";
document.body.appendChild(Drag.moveDiv);
},
"isdragable":function(){
// 验证当前对象是否为可拖动的对象
if(Drag.dragObj == null || !Drag.dragObj.getAttribute("dragable")){
return false;
}
return true;
}
} var Utils = {
"getTarget":function(ev){
// 获得当前的目标源对象
ev = ev || window.event;
var tget = ev.target || ev.srcElement;
return tget;
},
"getPosition":function(ev){
// 设置坐标
// 模拟一个鼠标跟随的效果
ev = ev || window.event;
return {top:document.body.scrollTop + ev.clientY + 10,
left:document.body.scrollLeft + ev.clientX + 10};
}
}
document.onmousemove = Drag.draging;
document.onmouseup = Drag.end;
document.onmousedown = Drag.start; </script>
就相当于
.AAAA
。AAAA1
。AAAA2
.BBBB
。BBBB1
。BBBB2
这就是我的树形菜单 我需要
选择
。AAAA1
并且移动到 .BBBB的时候
.AAAA
。AAAA2
.BBBB
。AAAA1
。BBBB1
。BBBB2
就变成 这样的
动态更新我会使用Ajax实现的
而且上面的代码已经实现了拖动的效果
只是 我还需要 取到目标的对象
也就是
.BBBB的对象 我要确定拖动到哪个下面了
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶???????????????顶顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶??????????????????顶顶
顶顶顶顶顶顶顶顶顶顶顶????????????????顶顶顶顶顶顶顶顶
顶顶顶顶顶顶顶顶???????顶???顶顶?????顶顶顶顶顶顶顶顶顶
顶顶顶????????????顶顶顶顶顶顶????顶顶顶顶顶顶顶顶顶顶
顶??????????????顶顶顶顶顶顶????顶顶顶顶顶顶顶顶顶顶
顶????????????顶顶顶顶顶顶顶???????????顶顶顶顶
顶????????????顶顶顶顶顶顶??????????????顶顶
顶顶??????????顶顶顶顶顶??????顶顶顶???????顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶顶顶顶顶顶顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶顶??顶顶顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶顶????顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶顶????顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶顶???顶顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶顶???顶顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶????顶顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶????顶顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶????顶顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶????顶????顶顶?????顶顶顶
顶顶顶顶顶顶顶顶????顶顶顶顶???顶顶????顶顶?????顶顶顶
顶顶??顶顶顶?????顶顶顶顶???顶顶???顶顶顶?????顶顶顶
顶顶??????????顶顶顶顶顶??顶顶??顶顶顶顶?????顶顶顶
顶顶顶?????????顶顶顶顶顶顶顶顶???顶顶顶顶顶????顶顶顶
顶顶顶顶顶???????顶顶顶顶顶顶顶顶???顶????顶顶顶顶顶顶顶
顶顶顶顶顶顶??????顶顶顶顶顶顶顶????顶顶?????顶顶顶顶顶
顶顶顶顶顶顶顶顶顶???顶顶顶顶顶顶?????顶顶顶???????顶顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶??????顶顶顶顶顶??????顶顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶??????顶顶顶顶顶顶???????顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶?????顶顶顶顶顶顶顶顶顶??????顶
顶顶顶顶顶顶顶顶顶顶顶顶顶?????顶顶顶顶顶顶顶顶顶顶顶????顶顶
很是同情LZ.
楼主还是另外想别的方法吧