控件实现任意拖动效果

qian6688099 2008-08-26 02:19:10
各位帮忙 ,希望能给小弟讲解的详细点,有代码最好,先谢了....
...全文
121 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
西安风影 2008-08-26
  • 打赏
  • 举报
回复
<script type="text/javascript">
var offsetX;
var offsetY;
var zIndex;
var dragging=false;
var obj;
function init()
{
obj=event.srcElement;
obj.setCapture();
zIndex=obj.style.zIndex;
obj.style.zIndex=100;
offsetX=event.offsetX;
offsetY=event.offsetY;
dragging=true;
}
function moveit()
{
if(dragging && event.srcElement==obj)
{
obj.style.left=document.body.scrollLeft+event.clientX-offsetX;
obj.style.top=document.body.scrollTop+event.clientY-offsetY;
}
}
function stopdrag()
{
dragging=false;
obj.style.zIndex=zIndex;
obj.releaseCapture();
}
</script>
<body>
<div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:10;top:50;width:100;height:150;border:1px solid #000000;z-index:1;background:#eeeeee">Layer 1</div>
<div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:120;top:50;width:100;height:150;border:1px solid #000000;z-index:2;background:#eeeeee">Layer 2</div>
<div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:230;top:50;width:100;height:150;border:1px solid #000000;z-index:3;background:#eeeeee">Layer 3</div>
</body>


注意:只有div的position属性为absolute时,div对象才能进行拖动操作。
1.setCapture() 设置属于当前文档的对象的鼠标捕捉。
2.event.offsetX 设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。
3.event.offsetY 设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。
4.releaseCapture() 释放当前文档中对象的鼠标捕捉。
5.scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。
6.scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。
yjlove51 2008-08-26
  • 打赏
  • 举报
回复
用个层,动态在层里生成5个文本框.javascript来实现拖动效果
用Css来控制位置
dzswej 2008-08-26
  • 打赏
  • 举报
回复
用AJAX实现
去这里
http://www.okajax.com/
编程有钱人了 2008-08-26
  • 打赏
  • 举报
回复
用JQUERY吧
qian6688099 2008-08-26
  • 打赏
  • 举报
回复
不好意思我还有个问题,就是根据数据库,来动态生成控件
比如数据库提取出来是 5 ,那就在页面自动生成5个文本框
诸位能否给解答一下。
lijin84100 2008-08-26
  • 打赏
  • 举报
回复
工具---选项---在这里设置控件属性.
haonanzhao 2008-08-26
  • 打赏
  • 举报
回复
将要拖动的东西设置为绝对位置,然后用js捕获鼠标事件,然后拖动。代码到网上搜索一下,好多。
踏雪听雨 2008-08-26
  • 打赏
  • 举报
回复
把控件放到层里.拖动层
xiaolei1982 2008-08-26
  • 打赏
  • 举报
回复
用javascript来实现拖动效果,去搜搜看吧,
我的博客上也有简单的js拖动
qian6688099 2008-08-26
  • 打赏
  • 举报
回复
怎么搞得没人说话....

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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