onmouseover的时候打开一个窗口是很好做的,但是onmouseout的时候想关闭刚刚打开的窗口根本不可能实现
最好的办法是把你要显示的内容放置在一个隐藏的层上面,onmouseover的时候设置该层为visible,onmouseout的时候再设成隐藏

解决方案 »

  1.   

    我想照你这个方法应该不能实现吧!看看下面这个例子吧!
    http://www.dynamicdrive.com/dynamicindex8/dhtmlwindow.htm
      

  2.   

    我写了
    echo  "<div id=\"Layer1\" style=\"position:absolute; left:".$m_x."px; top:".$m_y."px; width:20px; height:20px; z-index:1;cursor:hand;\" onMouseOver=\"winopen($m_machine_id);return true\" onMouseOut=\"winmsg.colse();\">";
    函数是
    function winopen()
       {
           winmsg=window.open("jkxx.php?machine_id=$m_machine_id","","height=220,width=180");
       }
    却提示出错!为什么?
      

  3.   

    显然语句:winmsg=window.open("jkxx.php?machine_id=$m_machine_id","","height=220,width=180");中的$m_machine_id 变量是不合法的。PHP的变量在JAVASCRIPT是不认的,你试试将这句用PHP的echo输出来。
      

  4.   

    $winmsg=window.open("jkxx.php?machine_id=$m_machine_id","","height=220,width=180");
    echo $winmsg;
    这样可以?!
      

  5.   

    我找到了这个语句了,谢谢上面的几位大哥
     echo  "<div id=\"Layer1\" style=\"position:absolute; left:".$m_x."px; top:".$m_y."px; width:20px; height:20px; z-index:1;cursor:hand;\" onMouseOver=\"javascript:newwin=window.open('jkxx.php?machine_id=$m_machine_id','','left=$m_x1,top=$m_y1,height=220,width=180')\" onmouseout=\"javascript:newwin.close()\">";