Показать сообщение отдельно
  #15 (permalink)  
Старый 31.05.2012, 01:03
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

если кому то нужно кросс-браузерный rotate с помощью скриптов, то вот:
<style type="text/css">
	#to_rotate {
		position: relative;
		width: 100px;
		height: 100px;
		background-color: #f00;
	}
</style>

<div id="to_rotate">test text</div>

<script type="text/javascript">

	function rotateElem( elem, deg ) {

		var style = elem.style;

		if ( elem.ownerDocument && elem.ownerDocument.defaultView ) {
			style = elem.ownerDocument.defaultView.getComputedStyle( elem, null );
		} else if ( elem.currentStyle ) {
			style = elem.currentStyle;
		}

		if ( eval("/*@cc_on @_jscript_version;@*/") <= 5.8 ) {

			var rad = ( deg * Math.PI ) / 180.0,
				cos = Math.cos(rad),
				sin = Math.sin(rad);

			elem.originalWidth = elem.originalWidth || elem.offsetWidth;
			elem.originalHeight = elem.originalHeight || elem.offsetHeight;

			elem.style.filter = style.filter.replace( /progid:DXImageTransform.Microsoft.Matrix\([^)]*\)[;]?/g, "" ) +
				"progid:DXImageTransform.Microsoft.Matrix("+
				"sizingMethod='auto expand',M11="+cos+",M12="+(-sin)+",M21="+sin+",M22="+cos+")";

			elem.style.marginLeft = -Math.round( ( elem.offsetWidth - elem.originalWidth ) / 2 );
			elem.style.marginTop =- Math.round( ( elem.offsetHeight - elem.originalHeight ) / 2 );
		} else {
			var Transform = (
				style.transform ||
				style.OTransform ||
				style.MozTransform ||
				style.WebkitTransform ||
				style.msTransform
			)+"";

			elem.style.OTransform =
			elem.style.MozTransform =
			elem.style.WebkitTransform =
			elem.style.msTransform =
			elem.style.transform =
				Transform.replace( /(none|[\s]?(rotate|matrix)\([^)]*\))/g, "" ) + " rotate(" + deg + "deg)";
		}
	}

	setInterval((function(){
		var start = 0;
		return function() {
			rotateElem( document.getElementById('to_rotate'), start+=2 );
		}
	})(), 50);

</script>
работает во всех браузерах.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием