在外面加一层div用于拖拽的。
解决方案 »
- new Image().src疑惑
- ************************************这一行代码怎么出来的是undefined???
- Firefox 能不能复制?
- 快速发问在线等关于checkbox点击事件
- 在ie6中如何去掉IE的图标和Microsoft Internet Explorer
- 用DOM怎样在不同的TABLE之间拷贝/移动行?
- 我想让一个表单自由控制向某个页面进行提交,可以是页面a.asp也可以是b.asp,该如何弄
- 怎么使用变量作为表单元素的名称
- 用脚本表示Frame太烦了,我头都要大了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 求港澳通行证正则验证
- 求救!!!!!!!!
- javascript实体怎么用不了
Layer1已经是多套了一层用于拖拽了。再多几层也无济于事。关键是ie6里只要位置一变,就会重新下载背景。前景图片倒是没这问题。
我是这样解决的,先在table外套一层空白div然后再加一层div拖拽。
如果<td background="/images/test.jpg"> </td>里面的内容要变化,就改成
<td background="/images/test.jpg"><div> </div></td>
解决方法是在head加
<script>
document.execCommand("BackgroundImageCache", false, true);
</script>BackgroundImageCache只在ie才有效,ff会抛出异常,所以楼主要自己判断一下是什么浏览器
<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>