Изменение transform
Есть div с тектом. Необходимо повернуть тект на заданный угол, те изменить transform, без jquery
<div id="text">Текст</div> CSS: Код:
#text{ var text = document.getElementById('text'); var style1 = window.getComputedStyle(text,null); var top = style1.getPropertyValue('transform', 'rotate(15deg)'); Что я делаю не так? Извиняюсь за тупой вопрос. |
Цитата:
Если я правильно понимаю, нужно что-то типа того: document.getElementById('text') .style.transform = 'rotate(15deg)'; |
var eText = document.getElementById('text'); eText.style.MozTransform = 'rotate(45deg)'; eText.style.WebkitTransform = 'rotate(45deg)'; eText.style.OTransform = 'rotate(45deg)'; eText.style.MsTransform = 'rotate(45deg)'; eText.style.transform = 'rotate(45deg)'; Ссылка |
вначале я так и пробовала, но с transform такой номер не проходит. Ведь это не просто стиль типа color, а что-то вроде метода (тут могу лажать), у него есть куча вариантов rotate, scale...
|
Фигню написала, только что )))
|
Uncaught TypeError: Cannot read property 'style' of null
Не работает(((( |
Цитата:
Мило. Но в css вам так и так надо прописывать все префиксы: <style> -moz-transform: rotate(-0deg); -webkit-transform: rotate(-0deg); -o-transform: rotate(-0deg); -ms-transform: rotate(-0deg); transform: rotate(-0deg); position: absolute; </style> Просто, подставьте везде переменную вместо чисел и работы поубавиться, если вам снова понадобиться наклонить текст. |
Цитата:
|
Просто, подставьте везде переменную вместо чисел и работы поубавиться, если вам снова понадобиться наклонить текст.
Ну я ж не совсем блондина. Как-то даже обидно стало. |
<!DOCTYPE html>
<html> <head> <style type="text/css"> #text{ -moz-transform: rotate(-0deg); -webkit-transform: rotate(-0deg); -o-transform: rotate(-0deg); -ms-transform: rotate(-0deg); transform: rotate(-0deg); } </style> </head> <body> <div id="text">Мур</div> <script type="text/javascript"> function func(){ var eText = document.getElementById('text'); eText.style.MozTransform = 'rotate(45deg)'; eText.style.WebkitTransform = 'rotate(45deg)'; eText.style.OTransform = 'rotate(45deg)'; eText.style.MsTransform = 'rotate(45deg)'; eText.style.transform = 'rotate(45deg)'; } func(); </script> </body> </html> Не работает((( А должно Uncaught TypeError: Cannot read property 'style' of null |
Добавьте в стили position: absolute;
<!DOCTYPE html> <html> <head> <style type="text/css"> #text{ -moz-transform: rotate(-0deg); -webkit-transform: rotate(-0deg); -o-transform: rotate(-0deg); -ms-transform: rotate(-0deg); transform: rotate(-0deg); position: absolute; } </style> </head> <body> <div id="text">Силой мысли я перевернусь </div> <script type="text/javascript"> window.onload = function(){ var eText = document.getElementById('text'); eText.style.MozTransform = 'rotate(45deg)'; eText.style.WebkitTransform = 'rotate(45deg)'; eText.style.OTransform = 'rotate(45deg)'; eText.style.MsTransform = 'rotate(45deg)'; eText.style.transform = 'rotate(45deg)'; } </script> </body> </html> Цитата:
|
Faab,
Он повернулся. Ураааааа. Странно, но пока я не сделала window.onload = function(){...} вместо своего function func(){...} func(); работать не хотело. Спасибо вам огромное. Уииииии |
Faab,
Если можно, объясните почему не сработало function func(){...} func(); |
Я предполагаю что id="text" ещё не успевает "загрузится" в DOM-дерево (паршивенько сказано конечно, но смысл вы поймёте. ). Если хотите проверить просто вставьте следующую строчку и вы увидите так ли это.
var eText = document.getElementById('text'); console.log(eText); // эту строку нужно вставить eText.style.MozTransform = 'rotate(45deg)'; Хотя была бы ошибка. Но у меня работает и по вашему: function func(){ var eText = document.getElementById('text'); console.log(eText); eText.style.MozTransform = 'rotate(45deg)'; eText.style.WebkitTransform = 'rotate(45deg)'; eText.style.OTransform = 'rotate(45deg)'; eText.style.MsTransform = 'rotate(45deg)'; eText.style.transform = 'rotate(45deg)'; } func(); |
Faab,
Еще раз огромное спасибо!!!! Профессор :) |
Часовой пояс GMT +3, время: 22:06. |