Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.04.2012, 10:10
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Вращение стрелки
Может у кого нибуть есть идеи стрелки вращающийся кросбраузерной?)
Ну поле чудес делаю)
В принципе я просто стрелку ложу сверху поля! и нужно чтоб она вращалась -2-3 круга и рандомно останавливается!
Ответить с цитированием
  #2 (permalink)  
Старый 08.04.2012, 12:38
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

1. svg\vml.
2. Если лень вручную - Raphael.
3. А можно и по старинке, спрайтиком - png'шка с раскадровкой стрелки, не такой уж большой вес будет.

...
__________________
29375, 35

Последний раз редактировалось Aetae, 08.04.2012 в 14:11.
Ответить с цитированием
  #3 (permalink)  
Старый 08.04.2012, 14:08
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от KupueIIIKo Посмотреть сообщение
Может у кого нибуть есть идеи стрелки вращающийся кросбраузерной?)
Ну поле чудес делаю)
В принципе я просто стрелку ложу сверху поля! и нужно чтоб она вращалась -2-3 круга и рандомно останавливается!

Анимируем, как обычно.

по отрисовке кадра выставляем свойство. Вот тут начинаются проблемы.
  • Проверяем поддержку CSS Transforms. Если браузер поддерживает их без префикса, то проверку не проводим.
  • Если не поддерживает CSS3 Transforms, то это : либо старый IE, либо просто старый какой-то браузер
  • Если поддерживаются фильтры (тут - IE<9), то используем их. Но с анимированием у них коряво.
  • Если не поддерживаются и фильтры - то ничего...


я написал пример для анимирования : поворот элемента за одну секунду на 720 градусов.
<!DOCTYPE HTML>
<html>
<head><title>LOL</title>
</head>
<body>

<div id="arrow" style="border: 45px white solid;border-bottom-color:green;position: absolute;"></div>
<script type="text/javascript">
var el, prop, i, degs, time, started, progr, _set;

el = document.getElementById('arrow');
degs =  360*2; // 2 круга.
time = 1000;

prop = "transform";

_set = function(degrees){
	el.style[ prop ] = 'rotate('+degrees+'deg)';
}

if( !(prop in el.style) ){ // supported with prefix, or with filters, or not supported.
	

	prop = "webkit Moz O ms".split(' ');
	i = 0;
	while(i in prop){
		 if(prop[i]+'Transform' in el.style){
			  prop = prop[i]+'Transform';
			  break;
		 }
		 i += 1; 
	}
	
	if(typeof prop !== 'string') { // unsupported, or supported with filters
		if('filters' in el){ // supported with filters
		
			el.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(Rotation=0)';
		
			_set = function(degrees){
				
				var num;
				
				if(degrees > 360)
					degrees -= 360;
				
				if(degrees < 45 || degrees > 300){
					num = 0;
				} else if(degrees >= 45 && degrees < 145) {
					num = 1;
				} else if(degrees >= 145 && degrees <= 235){
					num = 2;
				} else if(degrees < 300) {
					num = 3;
				}
			
				el.filters[0].Rotation = num;
			}
		
		} else { // unsupported...
			throw Error("Sorry, but your browser doesn't support CSS3");
		}
	}
} // support detection end.


started = Date.now();

i = setInterval(function(){
	
	progr = ( Date.now() - started ) / time ;
	if(progr > 1) progr = 1;
	
	_set( progr*degs|0  );
	
	if(progr === 1) 
		clearInterval(i);
	
}, 10);

</script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 08.04.2012, 14:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Ну да, а ещё:
5. Canvas

=)
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение, вращение, масштабирование div'a den_zm Dojo toolkit 1 13.10.2011 18:41
Как убрать hover? Либо как сделать стрелки статичными? krusty36 Элементы интерфейса 1 13.07.2011 09:20
Существует ли скрипт, который рисует стрелки от одного элемента DOM к другому? FINoM Элементы интерфейса 4 15.05.2011 21:23
Вращение изображения qwermjk Общие вопросы Javascript 10 06.08.2010 15:45
вращение фото + xajax subaru AJAX и COMET 3 12.06.2008 21:16