实例介绍
【实例简介】
【实例截图】
【实例截图】
【核心代码】旋转的Js图片矩阵
<!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=gb2312" /> <title>JS旋转图片阵效果-www.codefans.net by 斩梦人.天天 qq:22062019</title> <style type="text/css"> body{background:black;color:white;font-family: Arial, Helvetica, sans-serif;font-size:16px;line-height:29px} span{border:1px solid gray;background:#333;padding:4px;font-weight:bold;} </style></head> <body> <span>使用方法</span>:<br> 首先定义一个imgRound类:<br> <span>var rt = new imgRound("imgContainer", 120, 90, 500, 220, 230, 0.01)</span><br> 然后使用定时函数调用imgRound实例的roundMove方法:<br> <span>setInterval(function(){rt.roundMove()}, 20)</span><br> <script> window.onload=function(){ var rt=new imgRound("imgContainer",120,90,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=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> <div id="imgContainer" style="width:600px;height:300px;border:1px solid red"> <img src="http://www.codefans.net/jscss/demoimg/wall_s1.jpg"/> <img src="http://www.codefans.net/jscss/demoimg/wall_s2.jpg"/> <img src="http://www.codefans.net/jscss/demoimg/wall_s3.jpg"/> <img src="http://www.codefans.net/jscss/demoimg/wall_s4.jpg" link="http://www.baidu.com" target="_blank"/> <img src="http://www.codefans.net/jscss/demoimg/wall_s5.jpg" link="http://www.google.com"/> <img src="http://www.codefans.net/jscss/demoimg/wall_s1.jpg"/> <img src="http://www.codefans.net/jscss/demoimg/wall_s2.jpg"/> <img src="http://www.codefans.net/jscss/demoimg/wall_s3.jpg"/> </div> 参数说明: initRound(id,w,h,x,y,r,dv,rh,ah);<br> id: 容器ID<br> w: 图片宽度<br> h: 图片高度<br> x: 圆心水平位置<br> y: 圆心垂直位置<br> r: 圆圈半径<br> dv: 旋转速度<br> rh: 垂直距离 (可选,默认为10)<br> ah: 旋转方向 (可选,1:顺时针,2:逆时针,默认为1)<br> <body></html> // 根据车辆行驶方向来选择车辆图片 function GetVehicleImage(vid, direction) { var i = parseInt(direction); var imgUrl = "Images/car/";//document.getElementById("hidCarImgUrl").value; var ret,src,w,h; if(i < 45) { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car0.gif"; else src = imgUrl "Car0_S.gif"; w = 12; h = 32; } else if(i>=45 && i<90) { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car45.gif"; else src = imgUrl "Car45_S.gif"; w = 26; h = 26; } else if(i>=90 && i<135) { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car90.gif"; else src = imgUrl "Car90_S.gif"; w = 32; h = 12; } else if(i>=135 && i<180) { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car135.gif"; else src = imgUrl "Car135_S.gif"; w = 26; h = 26; } else if(i>=180 && i<225) { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car180.gif"; else src = imgUrl "Car180_S.gif"; w = 12; h = 32; } else if(i>=225 && i<270) { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car225.gif"; else src = imgUrl "Car225_S.gif"; w = 26; h = 26; } else if(i>=270 && i<315) { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car270.gif"; else src = imgUrl "Car270_S.gif"; w = 32; h = 12; } else if(i>=315 && i<360) { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car315.gif"; else src = imgUrl "Car315_S.gif"; w = 26; h = 26; } else { if(vid == parseInt(g_mainTrackVehicle)) src = imgUrl "Car0.gif"; else src = imgUrl "Car0_S.gif"; w = 12; h = 32; } return src.toString() "," w.toString() "," h.toString(); }
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论