拖动窗口

太古盟约 2002-06-18 10:17:15
层的拖动:鼠标mousedown之后,使层和鼠标联在一起移动,up时改变层的位置顺便使鼠标和层分开。我现在知道如何移动层,其余的怎么做
...全文
180 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
linhaibo 2002-06-20
  • 打赏
  • 举报
回复
有没有人做一个类似Windows里面的拖动窗口不显示窗口内容啊...
呵呵,先用一个虚框代替实际的层...那样速度绝对流畅.
seabell 2002-06-20
  • 打赏
  • 举报
回复
楼主:试试这个
<style>
.drag{position:relative;cursor:hand}
</style>
<script language="JavaScript">
var dragapproved=false
var eventsource,x,y
function move()
{
if (dragapproved) //改变被拖动元素在页面上的位置
{
eventsource.style.pixelLeft=temp1+event.clientX-x
eventsource.style.pixelTop=temp2+event.clientY-y
return false
}
}
function drags()
{
if (!document.all)
return
if (event.srcElement.className=="drag") //捕捉鼠标和被拖动元素的当前位置
{
dragapproved=true
eventsource=event.srcElement
temp1=eventsource.style.pixelLeft
temp2=eventsource.style.pixelTop
x=event.clientX
y=event.clientY
document.onmousemove=move
}
}
document.onmousedown=drags //鼠标左键按下时,准备拖动
document.onmouseup=new Function("dragapproved=!dragapproved")//鼠标左键放开时,拖动停止
</script>
<span style="font-family:DextorOutD;font-size: 9pt">
<input type=button value="drag me" class=drag>
</span>
太古盟约 2002-06-19
  • 打赏
  • 举报
回复
我现在只想单击锁定,因为鼠标移动到iframe里面就不能响应各种事件,如何做啊
zz315 2002-06-19
  • 打赏
  • 举报
回复
http://www.webucn.com/zz/nbw_v3/

看这个窗口拖动,十分流畅,有一个关键的问题就是秋水用上面的方法解决的。

过程这样:onmousedown时,获取鼠标在屏幕上的位置,同时setCapture(),onmouseup时,releaseCapture();。关键的过程在于onmousemove,首先判断event.button是否等于1,不等于,返回;如果等于,即时判断鼠标当前位置,然后要得出与onmousedown时的差值,窗口的实际位置加上这个差值重新定位。
太古盟约 2002-06-19
  • 打赏
  • 举报
回复
to: qiushuiwuhen(秋水无恨)
帮忙放个例子吧
qiushuiwuhen 2002-06-19
  • 打赏
  • 举报
回复
window.event.srcElement.setCapture();
window.event.srcElement.releaseCapture();

seabell 2002-06-19
  • 打赏
  • 举报
回复
楼主:不好意思,让你信中催我了,我今天很忙,实在没有时间研究了,明天有答案告诉你,见谅
太古盟约 2002-06-19
  • 打赏
  • 举报
回复
给个简单点的例子,谢谢
zz315 2002-06-19
  • 打赏
  • 举报
回复
秋水不帖出来了嘛,我给你的例子里也有相关代码的。
太古盟约 2002-06-18
  • 打赏
  • 举报
回复
我这里有个例子,你看看吗?把信箱留下。
我的是jekingfu@163.com
seabell 2002-06-18
  • 打赏
  • 举报
回复
哦,那就好,我刚才试了一会儿,单击锁定做不出来
太古盟约 2002-06-18
  • 打赏
  • 举报
回复
错了,现在流畅了,原来刚才是点在文字上了
太古盟约 2002-06-18
  • 打赏
  • 举报
回复
我的是ie 5.01 还是不流畅,能不能做到单击锁定,按鼠标左键一次然后放开,鼠标动时层也跟着动,然后再次单击后固定层的位置,在解去鼠标和层的锁定
seabell 2002-06-18
  • 打赏
  • 举报
回复
觉得很流畅啊,将中间的button换掉看看
<style>
.drag{position:relative;cursor:hand}
</style>
<script language="JavaScript">
var dragapproved=false
var eventsource,x,y
function move()
{
if (event.button==1&&dragapproved) //改变被拖动元素在页面上的位置
{
eventsource.style.pixelLeft=temp1+event.clientX-x
eventsource.style.pixelTop=temp2+event.clientY-y
return false
}
}
function drags()
{
if (!document.all)
return
if (event.srcElement.className=="drag") //捕捉鼠标和被拖动元素的当前位置
{
dragapproved=true
eventsource=event.srcElement
temp1=eventsource.style.pixelLeft
temp2=eventsource.style.pixelTop
x=event.clientX
y=event.clientY
document.onmousemove=move
}
}
document.onmousedown=drags //鼠标左键按下时,准备拖动
document.onmouseup=new Function("dragapproved=false")//鼠标左键放开时,拖动停止
</script>
<span style="font-family:DextorOutD;font-size: 9pt">
<div id=mydiv class=drag style="background:red;width:50%">
<p>drag it!</p>
<p align=center>text<p>
<p>ha ha!</p>
</div>
</span>
太古盟约 2002-06-18
  • 打赏
  • 举报
回复
to : seabell(百合心)

拖动的不够流畅,有没有更好的?
seabell 2002-06-18
  • 打赏
  • 举报
回复
<style>
.drag{position:relative;cursor:hand}
</style>
<script language="JavaScript">
var dragapproved=false
var eventsource,x,y
function move()
{
if (event.button==1&&dragapproved) //改变被拖动元素在页面上的位置
{
eventsource.style.pixelLeft=temp1+event.clientX-x
eventsource.style.pixelTop=temp2+event.clientY-y
return false
}
}
function drags()
{
if (!document.all)
return
if (event.srcElement.className=="drag") //捕捉鼠标和被拖动元素的当前位置
{
dragapproved=true
eventsource=event.srcElement
temp1=eventsource.style.pixelLeft
temp2=eventsource.style.pixelTop
x=event.clientX
y=event.clientY
document.onmousemove=move
}
}
document.onmousedown=drags //鼠标左键按下时,准备拖动
document.onmouseup=new Function("dragapproved=false")//鼠标左键放开时,拖动停止
</script>
<span style="font-family:DextorOutD;font-size: 9pt">
<div id=mydiv class=drag style="background:red;width:50%">
<p>drag it!</p>
<p align=center><input type=button value=drag><p>
<p>ha ha!</p>
</div>
</span>
seabell 2002-06-18
  • 打赏
  • 举报
回复
ok,bluebell@yeah.net

87,996

社区成员

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

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