我想显示大图,怎么显示不了,请问哪位大神帮忙看看
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>跟随鼠标移动(大图展示)</title>
<style type="text/css">
html,body{overflow:hidden;}
body,div,ul,li{margin:0;padding:0;}
#box ul{width:768px;height:172px;list-style-type:none;margin:10px auto;}
#box li{float:left;width:170px;height:170px;cursor:pointer;display:inline;border:1px solid #ddd;margin:0 10px;}
#box li.active{border:1px solid #a10000;}
#box li img{width:170px;height:170px;vertical-align:top;}
#big{position:absolute;width:400px;height:400px;border:2px solid #ddd;display:none;}
#big div{position:absolute;top:0;left:0;width:400px;height:400px;opacity:0.5;filter:alpha(opacity=50);background:#fff url(loading1.gif) 50% 50% no-repeat;}
</style>
<script type="text/javascript">
window.onload = function ()
{
 var aLi = document.getElementsByTagName("li");
 var oBig = document.getElementById("big");
 var oLoading = oBig.getElementsByTagName("div")[0];
 var i = 0;
 
 for (i = 0; i < aLi.length; i++)
 {
  aLi[i].index = i;
  //鼠标划过, 预加载图片插入容器并显示
  aLi[i].onmouseover = function ()
  {
   var oImg = document.createElement("img");
   //图片预加载
   var img = new Image();   
   img.src = oImg.src = aLi[this.index].getElementsByTagName("img")[0].src.replace(".jpg","_big.jpg");
   //插入大图片,我觉得是上面的这一段哪里有问题,请各位帮忙解决
   oBig.appendChild(oImg);
   //鼠标移过样式
   this.className = "active";
   //显示big
   oBig.style.display = oLoading.style.display = "block";
   //判断大图是否加载成功
   img.complete ? oLoading.style.display = "none" : (oImg.onload = function() {oLoading.style.display = "none";})  
  };
  //鼠标移动, 大图容器跟随鼠标移动
  aLi[i].onmousemove = function (event)
  {
   var event = event || window.event; 
   var iWidth = document.documentElement.offsetWidth - event.clientX; 
   //设置big的top值
   oBig.style.top = event.clientY + 20 + "px";
   //设置big的left值, 如果右侧显示区域不够, 大图将在鼠标左侧显示.
   oBig.style.left = (iWidth < oBig.offsetWidth + 10 ? event.clientX - oBig.offsetWidth - 10 : event.clientX + 10) + "px";
   
  };
  //鼠标离开, 删除大图并隐藏大图容器
  aLi[i].onmouseout = function ()
  {
   this.className = "";
   oBig.style.display = "none";
   //移除大图片
   oBig.removeChild(oBig.lastChild)
  }
 }
};
</script>
</head>
<body>
<div id="box">
    <ul>
     <li><img src="img/shirt_1.jpg" /></li>
      
    </ul>
</div>
<div id="big"><div></div></div>
</body>
</html>

解决方案 »

  1.   

     这个 肯定是路径设置错误!先把图片调出来吗,大小自己来改img.src = oImg.src = aLi[this.index].getElementsByTagName("img")[0].src.replace(".jpg","_big.jpg");
    改成它,图片就出来了
    img.src = oImg.src = aLi[this.index].getElementsByTagName("img")[0];
      

  2.   

    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>跟随鼠标移动(大图展示)</title>
    <style type="text/css">
    html,body{overflow:hidden;}
    body,div,ul,li{margin:0;padding:0;}
    #box ul{width:768px;height:172px;list-style-type:none;margin:10px auto;}
    #box li{float:left;width:170px;height:170px;cursor:pointer;display:inline;border:1px solid #ddd;margin:0 10px;}
    #box li.active{border:1px solid #a10000;}
    #box li img{width:170px;height:170px;vertical-align:top;}
    #big{position:absolute;width:400px;height:400px;border:2px solid #ddd;display:none;}
    #big div{position:absolute;top:0;left:0;width:400px;height:400px;opacity:0.5;filter:alpha(opacity=50);background:#fff url(loading1.gif) 50% 50% no-repeat;}
    </style>
    <script type="text/javascript">
    window.onload = function ()
    {
     var aLi = document.getElementsByTagName("li");
     var oBig = document.getElementById("big");
     var oLoading = oBig.getElementsByTagName("div")[0];
     var i = 0;
     
     for (i = 0; i < aLi.length; i++)
     {
      aLi[i].index = i;
      //鼠标划过, 预加载图片插入容器并显示
      aLi[i].onmouseover = function ()
      {
       var oImg = document.createElement("img");
       //图片预加载
       var img = new Image();   
       img.src = oImg.src = aLi[this.index].getElementsByTagName("img")[0];
       //插入大图片
       oBig.appendChild(oImg);
       //鼠标移过样式
       this.className = "active";
       //显示big
       oBig.style.display = oLoading.style.display = "block";
       //判断大图是否加载成功
       img.complete ? oLoading.style.display = "none" : (oImg.onload = function() {oLoading.style.display = "none";})  
      };
      //鼠标移动, 大图容器跟随鼠标移动
      aLi[i].onmousemove = function (event)
      {
       var event = event || window.event; 
       var iWidth = document.documentElement.offsetWidth - event.clientX; 
       //设置big的top值
       oBig.style.top = event.clientY + 20 + "px";
       //设置big的left值, 如果右侧显示区域不够, 大图将在鼠标左侧显示.
       oBig.style.left = (iWidth < oBig.offsetWidth + 10 ? event.clientX - oBig.offsetWidth - 10 : event.clientX + 10) + "px";
       
      };
      //鼠标离开, 删除大图并隐藏大图容器
      aLi[i].onmouseout = function ()
      {
       this.className = "";
       oBig.style.display = "none";
       //移除大图片
       oBig.removeChild(oBig.lastChild)
      }
     }
    };
    </script>
    </head>
    <body>
    <div id="box">
        <ul>
         <li><img src="img/shirt_1.jpg" /></li>
          
        </ul>
    </div>
    <div id="big"><div></div></div>
    </body>
    </html>
    你是这么修改的,我这里真的不行
      

  3.   

    哦 是这样的,少了个东西哦img.src = oImg.src = aLi[this.index].getElementsByTagName("img")[0].src;
      

  4.   

    不用加了,你就显示个死的吧!
    你加两句话在img.src = oImg.src = aLi[this.index].getElementsByTagName("img")[0].src;下面img.width= oImg.width=400;
    img.height= oImg.height=500;上面的400,500是大图的宽和高,随便你自己写