http://www.scriptlover.com/controls/EasyWindow/EasyWindow.html

解决方案 »

  1.   

    不错,支持一下。将窗体拖到浏览器上方,即窗口的top为负时,松开窗口就不能再拖动它了,因为标题栏已经被遮住了。每个窗体的背景色好像没填满,下面有一部分是空的,我是在FF下看到的。窗体获取焦点后(onmousedown),个人觉得还是立即设为zIndex层次最高的,因为当相对小的窗口拖到相对大一点的窗口后面的时候,用户不松开鼠标是看不到小窗口的
      

  2.   


    thanks for your advises ,good point !
      

  3.   

    很不错。。
    不过关于drag应该处理下比较好。
    就是说
    drag开启时。把iframe盖住,否则mouse进入iframe后,不会触发top.mousemove事件^^,所以产生了问题
      

  4.   

    把iframe盖住
    就是用div盖一下,这样就能保证mousemoveing时,都在document内了。 ^^
      

  5.   

    谢谢大家的关注 ,此次主要修正了以下问题:1.将窗体拖到浏览器上方,即窗口的top为负时,松开窗口就不能再拖动它了,因为标题栏已经被遮住了。 2.窗体获取焦点后(onmousedown),个人觉得还是立即设为zIndex层次最高的,因为当相对小的窗口拖到相对大一点的窗口后面的时候,用户不松开鼠标是看不到小窗口的
    至于背景没有填充完,这个是故意留个边的,不知道有什么不合适的地方 ,还请大家提出来。
      

  6.   

    另外谢谢 muxrwc 的指点
      

  7.   

    = =
    也不能无视我啊
    tantaiyizu同学拖出窗口注意一些细节就可以了。。
    IE是鼠标捕获非IE默认就带鼠标捕获。。http://topic.csdn.net/u/20080621/17/7c7c6adf-ec1b-4ee2-a069-d001c68f662d.html
    可以参考这里的内容
      

  8.   

    下载地址
    http://www.scriptlover.com/controls/EasyWindow.rar
      

  9.   

    另外我发现 拖动的时候 时不时的 鼠标都松开了 ,它还在移动 ,这是什么原因呢?
    是iframe造成的吗?muxrwc 小兔子 ,我怎么能无视你呢 ,嘿嘿
      

  10.   


    我用的document.onmouseup ,只是偶尔会这样 ,困惑我这里是不管快不快 都跟不上
    ---什么浏览器?
      

  11.   


    你松开的事件是在窗体上吗?
    也就是说onmouseup是针对窗体对象触发的,
    你试试改在事件用doucment来触发,即document.onmouseup
      

  12.   

    因为要鼠标捕获才可以IE是
    object.setCapture();
    释放是
    object.releaseCapture();
      

  13.   

    试试
    attachEvent/detachEvent
      

  14.   

    object.setCapture(); 
    鼠标按下的时候执行它
    object.releaseCapture(); 
    鼠标松开的时候执行它
    object为拖拽的DOM对象
    还有关于FF里selection的处理可以参考19楼那个地址里的几个拖拽^^
      

  15.   

    object.releaseCapture(); 
    鼠标松开的时候执行它这个我知道 ,可关键现在是不知道鼠标松开啊 ,document.onmouseup不准确啊在一个鼠标松开时 执行它 有什么作用吗?
      

  16.   

    = =
    只要
    object.setCapture后。document.onmouseup就会准确了。。
    不过你需要在onmousedown时,用DIV之类的东西把iframe盖上。才可以。
      

  17.   

    div 能盖住 iframe 吗?
      

  18.   


    当然能了如果iframe里有select
    就用另一个空iframe去盖那个iframe
    然后在用一个div盖iframe盖iframe的主要原因是
    鼠标移动到iframe里,就不会触发当前top页面的事件了
    所以产生了拖拽的问题
    不过你要是用div盖住了它就不会出现这个问题了
      

  19.   

    确实是这个原因 ,不流畅也是这个造成的 ,但我还是不太理解你说的:div 盖 iframe ,怎么个盖法? 盖住iframe ,iframe里的内容还能看到吗?
      

  20.   


    ^^
    alpha为0。
    filter:alpha(opacity=0); /*ie滤镜*/
    opacity:0; /*css3*/
    在IE6里会产生一个BUG。。
    即select会被不显示掉,但是还占位(可以无视这个问题)
      

  21.   

    drag做的有点问题
    另外窗口重新显示顺序
    总是google > baidu > 自定义
    而不是上一次的总是显示在第二,再上一次的显示第三具体意思是
    默认窗口顺序是 google > baidu > 自定义
    而当我本次激活自定义,此时 自定义 > google > baidu
    而当我再激活baidu的时候 应该是 baidu > 自定义 > google
    但是结果确实 baidu > google > 自定义
    也就是除了最新的z-index,其它的都会变回原来的zIndex
      

  22.   

    move事件添加到document上,这样在拖动的时候就不会失去对象
      

  23.   

    非常感谢大家提出的问题,我会继续更新
    下载地址 ,将长期提供下载
    http://www.scriptlover.com/controls/EasyWindow.rar
      

  24.   

    的确有这个问题,使用起来有些卡。尤其是google这个网页。普通的那个窗口还可以使用。这块代码建议可参考下extjs。它那个做的很酷也很流畅的。支持国产。顶你。