///////////show.htm
<SCRIPT>
function show()
{
event.srcElement.blur();
window.showModalDialog("move.htm", "",
"dialogWidth:1024px; dialogHeight:768px")
}
</SCRIPT>
</HEAD>
<a onclick="show()">弹出web</a>
move.htm
//////////////
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT language=JavaScript>
drag = 0
move = 0
function init() {
    window.document.onmousemove = mouseMove
    window.document.onmousedown = mouseDown
    window.document.onmouseup = mouseUp
    window.document.ondragstart = mouseStop
}
function mouseDown() {
    if (drag) {        clickleft = window.event.x - parseInt(dragObj.style.left)
        clicktop = window.event.y - parseInt(dragObj.style.top)        dragObj.style.zIndex += 1
        move = 1
    }
}
function mouseStop() {
    window.event.returnValue = false
}
function mouseMove() {
    if (move) {
//第一行的3000是图片宽度
//第二行的3000是图片高度 加60的误差
        dragObj.style.left =(window.event.x - clickleft>(parseInt(self.dialogWidth))-3000)?((window.event.x - clickleft<=0)?(window.event.x - clickleft):0):((parseInt(self.dialogWidth))-3000);
        dragObj.style.top = (window.event.y - clicktop>(parseInt(self.dialogHeight))-(3000+60))?((window.event.y - clicktop<=0)?(window.event.y - clicktop):0):((parseInt(self.dialogHeight))-(3000+60));    }
}
function mouseUp() {
    move = 0
}</SCRIPT>
</head>
<body onload=init()>
<DIV id=block1 onmouseover="dragObj=block1; drag=1;" 
style="Z-INDEX: 1; LEFT: 0px; POSITION: absolute; TOP: 0px" 
onmouseout=drag=0><IMG src="http://blog.csdn.net/images/xml.gif" width="3000" height="3000"  border=0 ></DIV>
</body>
</html>

解决方案 »

  1.   

    上面需要用show.htm弹出move.htm或者下面直接打开也可以move2.htm
    /////////////////
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <SCRIPT language=JavaScript>
    drag = 0
    move = 0
    function init() {
        window.document.onmousemove = mouseMove
        window.document.onmousedown = mouseDown
        window.document.onmouseup = mouseUp
        window.document.ondragstart = mouseStop
    }
    function mouseDown() {
        if (drag) {        clickleft = window.event.x - parseInt(dragObj.style.left)
            clicktop = window.event.y - parseInt(dragObj.style.top)        dragObj.style.zIndex += 1
            move = 1
        }
    }
    function mouseStop() {
        window.event.returnValue = false
    }
    function mouseMove() {
        if (move) {
    //第一行的3000是图片宽度
    //第二行的3000是图片高度
            dragObj.style.left =(window.event.x - clickleft>(parseInt(screen.availWidth))-3000)?((window.event.x - clickleft<=0)?(window.event.x - clickleft):0):((parseInt(screen.availWidth))-3000);
            dragObj.style.top = (window.event.y - clicktop>(parseInt(screen.availHeight))-(3000))?((window.event.y - clicktop<=0)?(window.event.y - clicktop):0):((parseInt(screen.availHeight))-(3000));    }
    }
    function mouseUp() {
        move = 0
    }</SCRIPT>
    </head>
    <body onload=init()>
    <DIV id=block1 onmouseover="dragObj=block1; drag=1;" 
    style="Z-INDEX: 1; LEFT: 0px; POSITION: absolute; TOP: 0px" 
    onmouseout=drag=0><IMG src="http://blog.csdn.net/images/xml.gif" width="3000" height="3000"  border=0 ></DIV>
    </body>
    </html>
      

  2.   

    dialogHeight/dialogWidth 获取模式对话框的高度宽度,这两个值包含标题栏滚动条的大小
    所以还要move.htm中最好隐藏滚动条,并调整高度误差去掉标题栏的影响
    <body onload=init()  SCROLL=no>如果用screen.availHeight/screen.availWidth 获取系统屏幕的工作区域高度/宽度,不包括Windows任务栏,
    所以也需要隐藏滚动条,调整高度误差
    并用window.open()弹出,弹出时去掉工具栏,菜单栏等
      

  3.   

    love01px(JAVA CUP) 非常感谢您,
    我达到的效果,只需要move.htm就可以了
    可是现在单独打开move.htm报错 我的javascript水平太低了,麻烦您给我修改一下, 只需要单独打开move.htm达到用show.htm打开 move.htm 的效果就可以了