图片平面旋转的代码怎么弄 四周的图片围着中心点转 ,在网上找了写三维的旋转,有平面旋转的没? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 旋转?http://js.alixixi.com/a/2016364263014.shtml参考下 http://code.usuishi.com/Web/DemoView.aspx?DemoID=20 看下这个是你想要的吗?http://www.codefans.net/jscss/code/2700.shtml 我这里给你写了个平面的,原理很简单,就是把图设置为position:absolute,然后定时设置图的坐标就行了。这个做为演示还行,坐为游戏之类的话性能需要优化,比如把坐标先计算好,存到数组里,这样就在定时器里就不需要计算了。其中图的个数你可以随便增减<!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><style type="text/css" >#div1{ position:relative;height:800px; border:1px solid red;}#div1 img{ position:absolute;}</style></head><body ><div id="div1" > <img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" /> <img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" /> <img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" /> <img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" /> <img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" /> <img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" /></div><script type="text/javascript" > var centerx = 400;//圆心X var centery = 300; //圆心Y var r = 300; //半径 var oimages = document.getElementById("div1").getElementsByTagName("IMG"); //图片集合 var cnt = oimages.length;//图片数 var da = 360/cnt;//图片间隔角度 var a0 = 0; //已旋转角度 var timer; for (var i = 0; i < cnt; i++) { oimages[i].onmouseover = stop; oimages[i].onmouseout = start; } function posimgs() { for (var i = 0; i < cnt; i++) { oimages[i].style.left = centerx + r*Math.cos((da * i + a0) / 180 * Math.PI) + "px"; oimages[i].style.top = centery +r* Math.sin((da * i + a0) / 180 * Math.PI) + "px"; } } // posimgs(); function start() { timer = window.setInterval("posimgs();a0++;", 100); } function stop() { window.clearInterval(timer); } start();</script></body></html> 刚才看到楼主私信我能不能让几个围绕一个转,也很简单,把以上代码稍改动一点点就行了。我假设是其它的图都围绕第一个转,只有我标红的地方改一下//以上不变 var da = 360/(cnt-1);//图片间隔角度 var a0 = 0; //已旋转角度 var timer; oimages[0].style.left = centerx + "px"; oimages[0].style.top = centery + "px"; for (var i = 1; i < cnt; i++) { oimages[i].onmouseover = stop; oimages[i].onmouseout = start; } function posimgs() { for (var i = 1; i < cnt; i++) { oimages[i].style.left = centerx + r*Math.cos((da * i + a0) / 180 * Math.PI) + "px"; oimages[i].style.top = centery +r* Math.sin((da * i + a0) / 180 * Math.PI) + "px"; } } // posimgs();//其它不变 显示有问题没有标红,我重发一下 var da = 360/(cnt-1);以下两句是新增的, oimages[0].style.left = centerx + "px"; oimages[0].style.top = centery + "px";以下就是将for(var i=0 将i=0改成i=1 运营商广告劫持 removeEventListener如何注销所有事件? 谁能给解释一下下面验证EMAIL地址合法性的正则表达式的意思 与jquery中的detach方法相对应的方法是哪个? 用javascript取table最后一个值 急求页面轮流显示的解决办法 购物车 Extjs lineChart 问题 nodejs+express+mongodb存储json问题 showModalDialog的问题? js定义全局变量的动态数组不会造成内存泄漏吧。。 关于javascript中回调函数(callback)中this指针的问题
http://www.codefans.net/jscss/code/2700.shtml
这个做为演示还行,坐为游戏之类的话性能需要优化,比如把坐标先计算好,存到数组里,这样就在定时器里就不需要计算了。
其中图的个数你可以随便增减<!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>
<style type="text/css" >
#div1{ position:relative;height:800px; border:1px solid red;}
#div1 img{ position:absolute;}
</style>
</head>
<body >
<div id="div1" >
<img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" />
<img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" />
<img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" />
<img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" />
<img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" />
<img src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif" />
</div><script type="text/javascript" >
var centerx = 400;//圆心X
var centery = 300; //圆心Y
var r = 300; //半径
var oimages = document.getElementById("div1").getElementsByTagName("IMG"); //图片集合
var cnt = oimages.length;//图片数
var da = 360/cnt;//图片间隔角度
var a0 = 0; //已旋转角度
var timer; for (var i = 0; i < cnt; i++) {
oimages[i].onmouseover = stop;
oimages[i].onmouseout = start;
} function posimgs() {
for (var i = 0; i < cnt; i++) {
oimages[i].style.left = centerx + r*Math.cos((da * i + a0) / 180 * Math.PI) + "px";
oimages[i].style.top = centery +r* Math.sin((da * i + a0) / 180 * Math.PI) + "px";
}
}
// posimgs();
function start() {
timer = window.setInterval("posimgs();a0++;", 100);
} function stop() {
window.clearInterval(timer);
}
start();
</script>
</body></html>
我假设是其它的图都围绕第一个转,只有我标红的地方改一下//以上不变
var da = 360/(cnt-1);//图片间隔角度
var a0 = 0; //已旋转角度
var timer; oimages[0].style.left = centerx + "px";
oimages[0].style.top = centery + "px"; for (var i = 1; i < cnt; i++) {
oimages[i].onmouseover = stop;
oimages[i].onmouseout = start;
} function posimgs() {
for (var i = 1; i < cnt; i++) {
oimages[i].style.left = centerx + r*Math.cos((da * i + a0) / 180 * Math.PI) + "px";
oimages[i].style.top = centery +r* Math.sin((da * i + a0) / 180 * Math.PI) + "px";
}
}
// posimgs();
//其它不变
var da = 360/(cnt-1);
以下两句是新增的,
oimages[0].style.left = centerx + "px";
oimages[0].style.top = centery + "px";以下就是将for(var i=0
将i=0改成i=1