不好意思是我没说清楚,以上方法我试过,不行。具体代码是这样的: <html> <head> <title>JavaScript实现图片旋转构成3D圆环代码</title> <script language="javascript"> window.onload=function(){ var rt=new imgRound("photo",120,90,260,20,250,0.01);//参数分别表示控件id,单个图片的长和高,空间旋转的原点坐标,旋转半径,旋转速度 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=10; 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> </head> <body> <div id="photo" style="width:540px;height:150px;border:1px solid red; background-color:White"> <img src="image/1.jpg" onclick="location='http://www.baidu.com'"> <img src="image/1.jpg" onclick="location='http://www.baidu.com'"> <img src="image/1.jpg" onclick="location='http://www.baidu.com'"> <img src="image/1.jpg" onclick="location='http://www.baidu.com'"> <img src="image/1.jpg" onclick="location='http://www.baidu.com'"> </div> </body> </html>
<html>
<head>
<title>JavaScript实现图片旋转构成3D圆环代码</title>
<script language="javascript">
window.onload=function(){
var rt=new imgRound("photo",120,90,260,20,250,0.01);//参数分别表示控件id,单个图片的长和高,空间旋转的原点坐标,旋转半径,旋转速度
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=10;
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>
</head>
<body>
<div id="photo" style="width:540px;height:150px;border:1px solid red; background-color:White">
<img src="image/1.jpg" onclick="location='http://www.baidu.com'">
<img src="image/1.jpg" onclick="location='http://www.baidu.com'">
<img src="image/1.jpg" onclick="location='http://www.baidu.com'">
<img src="image/1.jpg" onclick="location='http://www.baidu.com'">
<img src="image/1.jpg" onclick="location='http://www.baidu.com'">
</div>
</body>
</html>
<img src="./1.jpg" link="http://www.baidu.com" target="_blank">
<img src="./1.jpg" link="http://www.google.com" target="_blank">
<img src="./1.jpg" link="http://www.sina.com.cn" target="_blank">
<img src="./1.jpg" link="http://www.zhcw.com" target="_blank">
<img src="./1.jpg" link="http://www.qq.com" target="_blank">
</div>