<script language="JavaScript">
<!--
var Obj;
function MouseDown()
{
  Obj=document.getElementById("dragDiv");
  Obj.setCapture();
  Obj.l=event.x-Obj.style.pixelLeft;
  Obj.t=event.y-Obj.style.pixelTop;
}
function MouseMove()
{
  if(Obj!=null)
  {
    Obj.style.left = event.x-Obj.l;
    Obj.style.top = event.y-Obj.t;
  }
}
function MouseUp()
{
  if(Obj!=null)
  {
    Obj.releaseCapture();
    Obj=null;
  }
}
document.onmousedown=MouseDown;
document.onmousemove=MouseMove;
document.onmouseup=MouseUp
//-->
</script>
<div id="dragDiv" style="position:absolute;width:500px;height:100px;">11111
<iframe src="123.htm" width="500px" height="50px" frameborder="10"></iframe>
</div>

解决方案 »

  1.   

    有iframe也可以移动的,只是如果鼠标在iframe内部,就无法影响该div的鼠标事件了。
    可以设置一个部分专门用于影响鼠标事件,类似windows的标题栏一样
      

  2.   

    div里面放了个iframe,那样鼠标移上去的时候,是在iframe上的,没有激活div的相应事件所以就不行喽
      

  3.   

    function MouseDown()
    {
      Obj=document.getElementById("dragDiv");
      Obj.setCapture();
      Obj.l=event.x-Obj.style.pixelLeft;
      Obj.t=event.y-Obj.style.pixelTop;
    }
    城市刀客,这是你给的一段程序哈,我想问问这些层的属性分别是什么意思呢?
    Obj.l?
    Obj.t?
    event.x就是鼠标点击那一点的横坐标吧!
    Obj.style.pixelLeft?
    Obj.style.pixelTop?
    Obj.style.left? 
    Obj.style.top?
    有其他哪位朋友知道也说说呀,小弟学习中,有些东东不清楚,大家帮帮忙!!感激中!
      

  4.   

    <html>
    <body><style>
    body{font-family:Verdana;font-size:11px;color:#333;}
    #win1{[position:absolute;left:100;top:100;width:200px;height:150px;border:1px solid #000;}
    .title{width:100%;background:#000;height:18px;color:#fff;cursor:hand;}
    </style>

    <script>
    var move=false;
    function StartDrag(obj)                       
    {
    if(event.button==1&&event.srcElement.tagName.toUpperCase()=="DIV")
    {
    obj.setCapture();
    obj.style.background="#999";
    move=true;
    }
    }function Drag(obj)                   
    {
    if(move)
    {
    var oldwin=obj.parentNode;
    oldwin.style.left=event.clientX-50;
    oldwin.style.top=event.clientY-10;
    }

    }function StopDrag(obj)
    {
    obj.style.background="#000";
    obj.releaseCapture();
    move=false;
    } </script> <div id="win1">
    <div class="title" onMousedown="StartDrag(this)" onMouseup="StopDrag(this)" onMousemove="Drag(this)" >窗口1</div>
    This is a moveable window.<br>
    <iframe id ="iframe" />
    Moreinfo in www.achome.cn  .
    </div></body>
    </html>
      

  5.   

    把mousemove的事件加在body上,在body上判断是否是按下的,这样在移动的速度和频率都会大大上升。
      

  6.   

    紫飞MM也在啊...嘎嘎...有IFRAME的时候,鼠标点击事件会激发到IFRAME之内,这时你还需要单独的绑定到IFRAME中去,反正你得要让你的程序知道鼠标事件发生了,发生在哪里还不是最重要的.
      

  7.   

    quhaihua(七太保)
    javascript牛人
      

  8.   

    演示一下事件的跨框架传递方式,其他的应该自己能解决了。<HTML>
    <HEAD>
    <META NAME="Author" CONTENT="emu">
    </HEAD>
    <BODY>
    <div onmousedown="output.innerHTML='mouse down'" onmouseup="output.innerHTML='mouse up'" id="div1">
    <iframe src="javascript:window.onload=function(){document.body.onmousedown=function(){parent.div1.fireEvent('onmousedown')};document.body.onmouseup=function(){parent.div1.fireEvent('onmouseup')}},'试试在这里点击鼠标'"></iframe>
    </div>
    <div id=output></div>
    </BODY>
    </HTML>
      

  9.   

    quhaihua(七太保)等人说的解决方式不能实现鼠标放在iframe内容内拖动的情况
    emu(月亮不在手指尖上) ( )说的方式可以但是这样的话不知道如何设置框架的页面
      

  10.   

    给div里面iframe上面留一点空白 拖动的时候鼠标放在那个地方拖动
      

  11.   

    emu(月亮不在手指尖上) ( ) 
    你的src里都写的这些代码
     src="javascript:window.onload=function(){document.body.onmousedown=function(){parent.div1.fireEvent('onmousedown')};document.body.onmouseup=function(){parent.div1.fireEvent('onmouseup')}}我怎么知道改这么设置iframe的页面啊
      

  12.   

    src="javascript:window.location.href='http://www.csdn.net';window.onload ... ...