简明现代魔法 -> JavaScript -> JavaScript图片旋转一周效果

JavaScript图片旋转一周效果

2010-07-05

使图片进行360度旋转一周。能够兼容所有浏览器。IE使:matirx滤镜 webkit: webkitTransform Opera: OTransform firefox:MozTransform。

很眩的一个JavaScript效果,参考它的编程技巧吧。

效果演示

 

Code

<div id="container" style="width:520px;height:280px;position:relative;margin:0 auto">
	<div id="demo" align="center">
		<img src="../images/1.jpg" width="520" height="280" />
	</div>
</div>
<script>
var Img = function() {
	var T$ = function(id) { return document.getElementById(id); }
	var ua = navigator.userAgent,
		isIE = /msie/i.test(ua) && !window.opera;
	var i = 0, sinDeg = 0, cosDeg = 0, timer = null ;
	var rotate = function(target, degree) {
		target = T$(target);
		var orginW = target.clientWidth, orginH = target.clientHeight;
			clearInterval(timer);
		function run(angle) {
			if (isIE) { // IE
				cosDeg = Math.cos(angle * Math.PI / 180);
				sinDeg = Math.sin(angle * Math.PI / 180);
				with(target.filters.item(0)) {
					M11 = M22 = cosDeg; M12 = -(M21 = sinDeg); 
				}
				target.style.top = (orginH - target.offsetHeight) / 2 + 'px';
				target.style.left = (orginW - target.offsetWidth) / 2 + 'px';
			} else if (target.style.MozTransform !== undefined) {  // Mozilla
				target.style.MozTransform = 'rotate(' + angle + 'deg)';
			} else if (target.style.OTransform !== undefined) {   // Opera
				target.style.OTransform = 'rotate(' + angle + 'deg)';
			} else if (target.style.webkitTransform !== undefined) { // Chrome Safari
				target.style.webkitTransform = 'rotate(' + angle + 'deg)';
			} else {
				target.style.transform = "rotate(" + angle + "deg)";
			}
		}
		
		timer = setInterval(function() {
			i += 10;
			run(i);
			if (i > degree - 1) {
				i = 0;
				clearInterval(timer);
			} 
		}, 10); 
	}
	return {rotate: rotate}
}();
window.onload = function() {
	Img.rotate('demo', 360);
	document.getElementById('demo').onclick = function() {
		Img.rotate('demo', 360);
	}
}
</script>

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们