BruceXX 发表于 2013-1-29 09:27:37

写了一个好玩的js图片转盘。。。

给老婆她姐婚礼送了一个礼物,一个自己做的结婚祝福网站,
自己写了一个图片的圆盘,还比较有意思。

   var curImg;function imgRound(){    //圆的半径    var r=240;    //圆心坐标    var x=window.screen.width-30;    var y=268;    //图片大小    var w=140;    var h=110;    var pi=Math.PI;    var offset=0;    var len=12;    var avg=2*pi/len;    var arrimg=$(".indexImg");    var totalLen=arrimg.length;    this.init=function(){      offset=0;      for(var i=0;i<totalLen;i++){            arrimg.style.top=(y-h/2)+"px";            arrimg.style.left=(x-w/2)+"px";      }      this.move();    }    this.moveForward=function(){      offset=(++offset+totalLen)%totalLen;      this.move();    }    this.moveBack=function(){      offset=(totalLen+offset-1)%totalLen      this.move();    }    this.go=function(idx,myurl){      offset=(totalLen+idx-len/2+1)%totalLen;      if(curImg && window.event.srcElement.id==curImg.id){            window.open(myurl);            return;      }      this.move();    }    this.move=function(){      for(var i=0;i<totalLen;i++){            if(i<offset || (offset+len)<=i){                arrimg.style.display="none";            }      }      for(var m=0;m<len;m++){            var k=(offset+m)%totalLen;            var img=arrimg;            if(!img){                continue;            }            var angle=avg*(m+1);            //保留左半球 ,去掉就是一个球了            if(angle<=pi/2 || angle>=3*pi/2){                img.style.display="none";                continue;            }            img.style.display="block";            var rate=Math.abs(Math.cos(angle)*0.7)+0.3;            if(rate!=1){                img.style.border="1px solid #336600";                img.setAttribute("title", "");                rate=rate * 0.7;            }else{                if(img.style.display!="none"){                  curImg=img;                }                img.style.border="5px solid #336600";                img.setAttribute("title", "查看大图");            }            $("#"+img.id).animate({                top:(y-(Math.sin(angle)* r)-rate * h/2)+"px",                left:(x+ (Math.cos(angle) *r)-rate * w/2)+"px",                width:(w *rate )+"px",                height: (h *rate)+"px"            },250);                   }    }}function prev(){    rt.moveBack();}function next(){    rt.moveForward();}function go(idx,url){    rt.go(idx,url);}document.onmousewheel=function(evt){    evt=evt?evt:event;    if(event.wheelDelta>0){      prev();    }else{      next();    }}


鼠标上下滚轮可以转动图片了, 需要jquery.js

图片在页面里面任意地方都可以,但是需要class="indexImg"   
需要初始化为绝对定位。。
页: [1]
查看完整版本: 写了一个好玩的js图片转盘。。。