Вращение стрелки
:) Может у кого нибуть есть идеи стрелки вращающийся кросбраузерной?)
Ну поле чудес делаю) В принципе я просто стрелку ложу сверху поля! и нужно чтоб она вращалась -2-3 круга и рандомно останавливается! |
1. svg\vml.
2. Если лень вручную - Raphael. 3. А можно и по старинке, спрайтиком - png'шка с раскадровкой стрелки, не такой уж большой вес будет. ... |
Цитата:
Анимируем, как обычно. по отрисовке кадра выставляем свойство. Вот тут начинаются проблемы.
я написал пример для анимирования : поворот элемента за одну секунду на 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> |
Ну да, а ещё:
5. Canvas =) |
Часовой пояс GMT +3, время: 13:53. |