我用jquery做的窗体拖拽雏形,仍有瑕疵,请高手指点

calledMT 2010-08-01 03:01:43
直接贴代码

js部分
$("#teneInf_title").mousedown(function(even)
{
var cEvent=window.event||event;
var cx=cEvent.clientX;
var cy=cEvent.clientY;
$(this).mousemove(function(even)
{
var myEvent=window.event||event;
var mx=myEvent.clientX;
var my=myEvent.clientY;
var dx=parseInt($("#teneInf").css("left"));
var dy=parseInt($("#teneInf").css("top"));
var wHeight=parseInt(window.screen.height);
var wWidth=parseInt(window.screen.width);
var xMove=mx-cx;
var yMove=my-cy;
var dmx=dx+xMove;
var dmy=dy+yMove;
valuem="鼠标初始x坐标"+cx+"<p>"+"鼠标初始y坐标"+cy+"<p>"
+"移动中的鼠标x坐标:"+mx+"<p>"+"移动中的鼠标y坐标"+my+"<p>"
+"鼠标水平方向偏移量"+xMove+"<p>"+
"鼠标垂直方向偏移量"+yMove+"<p>";
valued="divx坐标:"+dx+"<p>"+"divy坐标:"+dy+"<p>";
valuew="屏幕高度:"+wHeight +"<p>"+"屏幕宽度:"+wWidth;
if(dmx>=0&&(wWidth-dmx>=274)&&dmy>=0&&(wHeight-dmy>=384))
{
$("#teneInf").css({"left":dmx+"px","top":dmy+"px"});
}
$("#teneInf_content").html(valuem+valued+valuew);
});
$(this).mouseout(function()
{
$(this).unbind("mousemove");
});
});

做出来的效果是:div id=teneInf_title的可以拖拽,但是拖一段,走一段;请高手指点,如何做到真正的拖拽!
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
calledMT 2010-08-02
  • 打赏
  • 举报
回复
2楼是个热心的好小伙
帮我解决了好几问题
hoojo 2010-08-02
  • 打赏
  • 举报
回复
还要加一个全局的true/false,如果移动的时候是true就移动
calledMT 2010-08-01
  • 打赏
  • 举报
回复
问题已解决

52,787

社区成员

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

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