在外面加一层div用于拖拽的。

解决方案 »

  1.   

    用ie7也许是没问题。但目前主要面向还是ie6。
    Layer1已经是多套了一层用于拖拽了。再多几层也无济于事。关键是ie6里只要位置一变,就会重新下载背景。前景图片倒是没这问题。
      

  2.   

    我之前也遇到过这样,我不清楚你的代码是怎样的,
    我是这样解决的,先在table外套一层空白div然后再加一层div拖拽。
    如果<td background="/images/test.jpg">&nbsp;</td>里面的内容要变化,就改成
    <td background="/images/test.jpg"><div>&nbsp;</div></td>
      

  3.   

    我的代码就在顶楼。直接copy进一个空白页的body就可以看到。外面本来就有空白div用于施拽的。再套几套也无济无事。里面的内容不变化。但只要一拖动,还是会不断下载图片。打开网页后,把图片目录改名。然后一拖动div,背景图就消失了。
      

  4.   

    我在msdn找了下,
    解决方法是在head加
    <script>
     document.execCommand("BackgroundImageCache", false, true);
    </script>BackgroundImageCache只在ie才有效,ff会抛出异常,所以楼主要自己判断一下是什么浏览器
      

  5.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    </head>
    <body>
    <div id="Layer1" style="position:absolute"> 
    <table width="300" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td id=td1 bgproperties="fixed"> </td>
    </tr>
    </table>
    </div></body>
    <script language="JavaScript" type="text/JavaScript">
    var img=new Image();
    img.src="/images/test.jpg";
    document.getElementById('td1').background=img.src;
    document.onmousemove=function(e)
    {
    e=e?e:window.event;
    document.getElementById('td1').background="#";
    document.getElementById('Layer1').style.pixelLeft=e.x;
    document.getElementById('Layer1').style.pixelTop=e.y;
    document.getElementById('td1').background=img.src;
    }
    </script>
    </html>