怎么实现双击图片的时候放大
<script>
window.onload=function(){
var rt=new imgRound("imgContainer",150,100,300,80,230,0.01);
setInterval(function(){rt.roundMove()},20)
}
function imgRound(id,w,h,x,y,r,dv,rh,ah){
if (ah==undefined) ah=1;
if (rh==undefined) rh=50;
var dv=dv*ah; //旋转速度
var pi=3.1415926575;
var d=pi/2;
var pd=Math.asin(w/2/r);
var smove=true;
var imgArr=new Array();
var objectId=id;
var o=document.getElementById(objectId);
o.style.position="relative";
var arrimg=o.getElementsByTagName("img");
var pn=arrimg.length; //图片数量
var ed=pi*2/pn;
for (n=0;n<arrimg.length;n++){
var lk=arrimg[n].getAttribute("link");
if (lk!=null) arrimg[n].setAttribute("title",lk)
arrimg[n].onclick=function(){
if (this.getAttribute("link")!=null){
if (this.getAttribute("target")!="_blank") window.location=(this.getAttribute("link"))
else window.open(this.getAttribute("link"))
}
}
arrimg[n].onmouseout=function(){smove=true;}
arrimg[n].onmouseover=function(){smove=false;}
arrimg[n].style.position="absolute";
imgArr.push(arrimg[n]);
}

this.roundMove=function(){
for (n=0;n<=pn-1;n++){
var o=imgArr[n];
var ta=Math.sin(d+ed*n),strFilter;
if (ta<0) o.style.left=Math.cos(d+ed*n-pd)*r+x+"px";
else o.style.left=Math.cos(d+ed*n+pd)*r+x+"px";
o.style.top=ta*rh+rh+y+"px";
var zoom=Math.abs(Math.sin((d+ed*n)/2+pi/4))*0.5+0.5;
o.style.width=Math.abs(Math.cos(d+ed*n+pd)-Math.cos(d+ed*n-pd))*zoom*r+"px";
o.style.height=zoom*h+"px";
if (ta<0) {ta=(ta+1)*80+20;o.style.zIndex=0;}
else {ta=100;o.style.zIndex=1}
if (o.style.zIndex<=0) strFilter="FlipH(enabled:true)"
else strFilter="FlipH(enabled:false)";
strFilter=strFilter+" alpha(opacity="+ta+")";
o.style.opacity=ta/100;
o.style.filter=strFilter;
}
if (smove) d=d+dv;
}
}
</script>
<div id="imgContainer" style="width:600px;height:300px;border:1px solid red">
<img src="http://www.idccyw.com/blueidea/images/s1.jpg"/>
<img src="http://www.idccyw.com/blueidea/images/s2.jpg"/>
<img src="http://www.idccyw.com/blueidea/images/s3.jpg"/>
<img src="http://www.idccyw.com/blueidea/images/s4.jpg" />
<img src="http://www.idccyw.com/blueidea/images/s5.jpg"/>
<img src="http://www.idccyw.com/blueidea/images/s1.jpg"/>
<img src="http://www.idccyw.com/blueidea/images/s2.jpg"/>
<img src="http://www.idccyw.com/blueidea/images/s3.jpg"/>
</div>

解决方案 »

  1.   

    再弄几个img 默认隐藏  点击时候显示
      

  2.   

    用js控制图片的大小 可以啊!
    document.getElementById("img").width
    document.getElementById("img").height
      

  3.   

    lightbox 能实现你要的。。自己下个例子替换下图片就可以了
      

  4.   

    <!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>
    <meta content="text/html; charset="GB2312" http-equiv="Content-Type" />
    </head>  <body>
      <div>
      <input type="button" value="打开" onclick="opened()"/> <input type="button" value="关闭" onclick="closeed()"/>  
      </div>
      <div id="main">
      <img src="12.jpg"/>
      </div>
      
      <script type="text/javascript">
      var n=2;
      var control=true;
      var stop;
        
      var div_main=document.getElementById("main");  
      var w=div_main.getElementsByTagName("img")[0].width;
      //alert(w);
      var h=div_main.getElementsByTagName("img")[0].height;   
        
      var x=div_main.getElementsByTagName("img")[0].left;
      //alert(x);
      var y=div_main.getElementsByTagName("img")[0].top;  
      function opened(){
        
          if(control==true){
              if(n>=20){
                control=false;
                 window.clearTimeout(stop);
              }else{
                  w+=5;
                  h+=5;
                  x+=5;
                  y+=5;
                  div_main.getElementsByTagName("img")[0].width=w;
                  div_main.getElementsByTagName("img")[0].height=h;
                  div_main.getElementsByTagName("img")[0].left=x;
                  div_main.getElementsByTagName("img")[0].top=y;
                  stop=setTimeout('opened()',100);    
              }
              n++;
          }
      }
      
      function closeed(){
          if(control==false){
             if(n<=0){
                control=true;
                window.clearTimeout(stop);
              }else{
                  w-=5;
                  h-=5;
                  x-=5;
                  y-=5;
                  div_main.getElementsByTagName("img")[0].width=w;
                  div_main.getElementsByTagName("img")[0].height=h;
                  div_main.getElementsByTagName("img")[0].left=x;
                  div_main.getElementsByTagName("img")[0].top=y;
                  stop=setTimeout('closeed()',100);
               }
               n--;
          }
    }
      </script>
      </body>
    </html>