这是简化后能体现问题的代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">        var picArr = ["../Img/timer/0.jpg","../Img/timer/1.jpg","../Img/timer/2.jpg",
        "../Img/timer/3.jpg","../Img/timer/4.jpg"];        function initEvent() {
            var arr = document.getElementsByTagName("img");
            for (var i = 0; i < arr.length; i++ ) {
                arr[i].onmouseover = popPic;
                arr[i].onmouseout = closePic;
                arr[i].setAttribute("imgPath", picArr[i]);
            }
        }        function popPic() {
            var div1 = document.createElement("div");
            div1.id = "div1";
            div1.style.position = "absolute";
            div1.style.top = window.event.clientY + "px";
            div1.style.left = window.event.clientX + "px";
            div1.innerHTML = setdivContent(this);
            document.body.appendChild(div1);
        }        function setdivContent(image) {
            var contentImg = "<img style='margin-left:2px;margin-right:2px;margin-top:2px;margin-bottom:50px;width:260px;height:370px;' src='" + image.getAttribute("imgPath") + "'></img>";
            return contentImg;        }        function closePic() {
            var div1 = document.getElementById("div1");
            document.body.removeChild(div1);
        }
    </script>
</head><body onload="initEvent()">
<table cellspacing="5">
<tr>
<td><img src="../Img/timer/100.png" /></td>
<td><img src="../Img/timer/101.png" /></td>
<td><img src="../Img/timer/102.png" /></td>
<td><img src="../Img/timer/103.png" /></td>
<td><img src="../Img/timer/104.png" /></td>
</tr>
</table>
</body>
</html>使用ie开发者工具调试,会发现鼠标在缩略图上乱舞动时
function closePic() {
            var div1 = document.getElementById("div1");
            document.body.removeChild(div1);
        }
div1经常会经常为null,所以document.body.removeChild(div1);就会报参数错误
而使用firefox,opera,chrome开发者工具的控制台里都不会报这个错
大家可以直接运行代码,就是对应图片路径修改下,在适当目录存入图片就好请教大家下是什么原因,谢谢啦^_^

解决方案 »

  1.   

    先document.body.appendChild(div1);
    后设置参数
      

  2.   

    肯定是onmouseover 后才会onmouseout ,所以和节点添加顺序无关,必然是我已经加了的
    而且ie里不是每次都错,鼠标晃来晃去晃几次后才错一下,哈哈
    不过还是很感谢楼上的回答
      

  3.   

    改了一行代码的位置,果然解决了问题,2楼说的有点对,但不是ie的问题,是2个线程处理先后的问题,
    function popPic() {
      var div1 = document.createElement("div");
      div1.id = "div1";
      document.body.appendChild(div1);
      div1.style.position = "absolute";
      div1.style.top = window.event.clientY + "px";
      div1.style.left = window.event.clientX + "px";
      div1.innerHTML = setdivContent(this);
      
      }
    这个函数这么写就可以很大程度避免问题出现了,ie下几乎不出现了
    没人回答,结贴了,分都给你,哈哈