Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2014, 04:40
Аватар для blacklool
Аспирант
Отправить личное сообщение для blacklool Посмотреть профиль Найти все сообщения от blacklool
 
Регистрация: 16.01.2014
Сообщений: 50

синтаксис и -moz- -webkit-
Здравствуйте!
Можете сказать как правельней писать так :
menu.setAttribute('style','-webkit-transform: rotateY(0deg);-webkit-transition:0.6s;-webkit-transform-style: preserve-3d;-moz-transform: rotateY(0deg);-moz-transition:0.6s;-moz-transform-style: preserve-3d;-o-transform: rotateY(0deg);-o-transition:0.6s;-o-transform-style: preserve-3d;transform: rotateY(0deg);transition:0.6s;transform-style: preserve-3d;');

или так:

menu.style.webkitTransform = 'rotateY(0deg)';
		menu.style.mozTransform = 'rotateY(0deg)';
		menu.style.oTransform = 'rotateY(0deg)';
		menu.style.transform = 'rotateY(0deg)';
		menu.style.webkitTransition = '0.6s';
		menu.style.mozTransition = '0.6s';
		menu.style.oTransition = '0.6s';
		menu.style.transition = '0.6s';
		menu.style.webkitTransformStyle = 'preserve-3d';
		menu.style.mozTransformStyle = 'preserve-3d';
		menu.style.oTransformStyle = 'preserve-3d';
		menu.style.transformStyle = 'preserve-3d';


и да, правильно ли это написано? :
menu.style.mozTransformStyle = 'preserve-3d';
     menu.style.oTransformStyle = 'preserve-3d';

просто в интернете нашел информацию только об webkit а на firefox должно работать... но нет...
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2014, 10:26
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Лучше меняй css-классы, а стили прописывай в css.
Сообщение от blacklool
menu.setAttribute('style','...')
Это плохо. В таких случаях пиши menu.style.cssText = '...'

Можешь написать функцию, которая будет сама добавлять префиксы. Что-то вроде:

function setStyle(element, property, value) {
    var prefixes = ['o', 'moz', 'webkit'];
    if (property in element.style)
        return element.style[property] = value;
    property = property.charAt(0).toUpperCase() + property.substring(1); 
    for (var i = 0; i < prefixes.length; i++) {
        var prefix = prefixes[i];
        var vendorProperty = prefix + property;
        if (vendorProperty in element.style)
            return element.style[vendorProperty] = value;
    }
}
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2014, 12:53
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

blacklool, используйте http://leaverou.github.io/prefixfree/ и не нужно писать префиксы
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2014, 14:06
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

cyber, мое мнение что в css нужно писать префиксы (на крайняк использовать препроцессоры) и не делать лишнюю зависимость от js.
А вот в паре с jQuery (патч метода css() ) - думаю можно юзать.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2014, 19:55
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от danik.js
и не делать лишнюю зависимость от js
а разница? по сути просто добавляются перфиксы где нужно и код вставляется на страницу.
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #6 (permalink)  
Старый 19.01.2014, 05:26
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Есть ещё идея: проверять на сервере браузер и выставлять нужный префикс (например):
header('Content-type: text/css');
$agent = $_SERVER['HTTP_USER_AGENT'];
if(strpos($agent, 'Firefox')) $pre = '-moz-';
elseif(strpos($agent, 'Chrome') || strpos($agent, 'Safari')) $pre = '-webkit-';
elseif(strpos($agent, 'Opera')) $pre = '-o-';


.selector:hover {
   transition: all 0.3s;
   <?=$pre?>transition: all 0.3s;
}


Хотя вы здесь ведёте речь именно о js.
Ответить с цитированием
  #7 (permalink)  
Старый 19.01.2014, 17:28
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Ruslan_xDD, или препроцессор юзать, тут от ситуации зависит в разных случаях, подходят разные варианты)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тема посвященная stylus Maxmaxmaximus7 Оффтопик 71 12.04.2014 13:53
300 миллионов пользователей и переход на WebKit Deff Оффтопик 72 22.02.2013 04:58
Что за синтаксис Arkasha69 Общие вопросы Javascript 4 26.05.2011 16:13
записать переменную в ссылку (синтаксис) 2rION Общие вопросы Javascript 3 09.08.2009 21:46
Синтаксис языка javascript multimetr Я не знаю javascript 2 26.05.2009 23:34