hi ,做了一个漂亮的窗口操作类,给大家分享下 http://www.scriptlover.com/controls/EasyWindow/EasyWindow.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不错,支持一下。将窗体拖到浏览器上方,即窗口的top为负时,松开窗口就不能再拖动它了,因为标题栏已经被遮住了。每个窗体的背景色好像没填满,下面有一部分是空的,我是在FF下看到的。窗体获取焦点后(onmousedown),个人觉得还是立即设为zIndex层次最高的,因为当相对小的窗口拖到相对大一点的窗口后面的时候,用户不松开鼠标是看不到小窗口的 thanks for your advises ,good point ! 很不错。。不过关于drag应该处理下比较好。就是说drag开启时。把iframe盖住,否则mouse进入iframe后,不会触发top.mousemove事件^^,所以产生了问题 把iframe盖住就是用div盖一下,这样就能保证mousemoveing时,都在document内了。 ^^ 谢谢大家的关注 ,此次主要修正了以下问题:1.将窗体拖到浏览器上方,即窗口的top为负时,松开窗口就不能再拖动它了,因为标题栏已经被遮住了。 2.窗体获取焦点后(onmousedown),个人觉得还是立即设为zIndex层次最高的,因为当相对小的窗口拖到相对大一点的窗口后面的时候,用户不松开鼠标是看不到小窗口的至于背景没有填充完,这个是故意留个边的,不知道有什么不合适的地方 ,还请大家提出来。 另外谢谢 muxrwc 的指点 = =也不能无视我啊tantaiyizu同学拖出窗口注意一些细节就可以了。。IE是鼠标捕获非IE默认就带鼠标捕获。。http://topic.csdn.net/u/20080621/17/7c7c6adf-ec1b-4ee2-a069-d001c68f662d.html可以参考这里的内容 下载地址http://www.scriptlover.com/controls/EasyWindow.rar 另外我发现 拖动的时候 时不时的 鼠标都松开了 ,它还在移动 ,这是什么原因呢?是iframe造成的吗?muxrwc 小兔子 ,我怎么能无视你呢 ,嘿嘿 我用的document.onmouseup ,只是偶尔会这样 ,困惑我这里是不管快不快 都跟不上---什么浏览器? 你松开的事件是在窗体上吗?也就是说onmouseup是针对窗体对象触发的,你试试改在事件用doucment来触发,即document.onmouseup 因为要鼠标捕获才可以IE是object.setCapture();释放是object.releaseCapture(); 试试attachEvent/detachEvent object.setCapture(); 鼠标按下的时候执行它object.releaseCapture(); 鼠标松开的时候执行它object为拖拽的DOM对象还有关于FF里selection的处理可以参考19楼那个地址里的几个拖拽^^ object.releaseCapture(); 鼠标松开的时候执行它这个我知道 ,可关键现在是不知道鼠标松开啊 ,document.onmouseup不准确啊在一个鼠标松开时 执行它 有什么作用吗? = =只要object.setCapture后。document.onmouseup就会准确了。。不过你需要在onmousedown时,用DIV之类的东西把iframe盖上。才可以。 div 能盖住 iframe 吗? 当然能了如果iframe里有select就用另一个空iframe去盖那个iframe然后在用一个div盖iframe盖iframe的主要原因是鼠标移动到iframe里,就不会触发当前top页面的事件了所以产生了拖拽的问题不过你要是用div盖住了它就不会出现这个问题了 确实是这个原因 ,不流畅也是这个造成的 ,但我还是不太理解你说的:div 盖 iframe ,怎么个盖法? 盖住iframe ,iframe里的内容还能看到吗? ^^alpha为0。filter:alpha(opacity=0); /*ie滤镜*/opacity:0; /*css3*/在IE6里会产生一个BUG。。即select会被不显示掉,但是还占位(可以无视这个问题) drag做的有点问题另外窗口重新显示顺序总是google > baidu > 自定义而不是上一次的总是显示在第二,再上一次的显示第三具体意思是默认窗口顺序是 google > baidu > 自定义而当我本次激活自定义,此时 自定义 > google > baidu而当我再激活baidu的时候 应该是 baidu > 自定义 > google但是结果确实 baidu > google > 自定义也就是除了最新的z-index,其它的都会变回原来的zIndex move事件添加到document上,这样在拖动的时候就不会失去对象 非常感谢大家提出的问题,我会继续更新下载地址 ,将长期提供下载http://www.scriptlover.com/controls/EasyWindow.rar 的确有这个问题,使用起来有些卡。尤其是google这个网页。普通的那个窗口还可以使用。这块代码建议可参考下extjs。它那个做的很酷也很流畅的。支持国产。顶你。 验证提示的问题[急] html javascript的 confirm框问题 js控制鼠标拖动的效果疑问? 在javascript里名称与编码对应的操作如果提高效率? 求助!js showModalDialog窗口如何显示在所有窗口之前(如:world)。 怎样强制关闭关IE窗口? 分享一个javascript公开课 xheditor剪切板粘贴图片问题 如何隐藏一个窗口 javascript里怎么不能用加法啊! 冒个泡,发布一段神奇的 如何实现这种网页对话框?
thanks for your advises ,good point !
不过关于drag应该处理下比较好。
就是说
drag开启时。把iframe盖住,否则mouse进入iframe后,不会触发top.mousemove事件^^,所以产生了问题
就是用div盖一下,这样就能保证mousemoveing时,都在document内了。 ^^
至于背景没有填充完,这个是故意留个边的,不知道有什么不合适的地方 ,还请大家提出来。
也不能无视我啊
tantaiyizu同学拖出窗口注意一些细节就可以了。。
IE是鼠标捕获非IE默认就带鼠标捕获。。http://topic.csdn.net/u/20080621/17/7c7c6adf-ec1b-4ee2-a069-d001c68f662d.html
可以参考这里的内容
http://www.scriptlover.com/controls/EasyWindow.rar
是iframe造成的吗?muxrwc 小兔子 ,我怎么能无视你呢 ,嘿嘿
我用的document.onmouseup ,只是偶尔会这样 ,困惑我这里是不管快不快 都跟不上
---什么浏览器?
你松开的事件是在窗体上吗?
也就是说onmouseup是针对窗体对象触发的,
你试试改在事件用doucment来触发,即document.onmouseup
object.setCapture();
释放是
object.releaseCapture();
attachEvent/detachEvent
鼠标按下的时候执行它
object.releaseCapture();
鼠标松开的时候执行它
object为拖拽的DOM对象
还有关于FF里selection的处理可以参考19楼那个地址里的几个拖拽^^
鼠标松开的时候执行它这个我知道 ,可关键现在是不知道鼠标松开啊 ,document.onmouseup不准确啊在一个鼠标松开时 执行它 有什么作用吗?
只要
object.setCapture后。document.onmouseup就会准确了。。
不过你需要在onmousedown时,用DIV之类的东西把iframe盖上。才可以。
当然能了如果iframe里有select
就用另一个空iframe去盖那个iframe
然后在用一个div盖iframe盖iframe的主要原因是
鼠标移动到iframe里,就不会触发当前top页面的事件了
所以产生了拖拽的问题
不过你要是用div盖住了它就不会出现这个问题了
^^
alpha为0。
filter:alpha(opacity=0); /*ie滤镜*/
opacity:0; /*css3*/
在IE6里会产生一个BUG。。
即select会被不显示掉,但是还占位(可以无视这个问题)
另外窗口重新显示顺序
总是google > baidu > 自定义
而不是上一次的总是显示在第二,再上一次的显示第三具体意思是
默认窗口顺序是 google > baidu > 自定义
而当我本次激活自定义,此时 自定义 > google > baidu
而当我再激活baidu的时候 应该是 baidu > 自定义 > google
但是结果确实 baidu > google > 自定义
也就是除了最新的z-index,其它的都会变回原来的zIndex
下载地址 ,将长期提供下载
http://www.scriptlover.com/controls/EasyWindow.rar