Я новичок в jQuery и экспериментирую со следующим.
var datastartscale = $(this).attr('data-start-scale');
$(this).css({'transform': 'scale(' + datastartscale + ')',
'-ms-transform': 'scale(' + datastartscale + ')',
'-webkit-transform': 'scale(' + datastartscale + ')',
'-moz-transform': 'scale(' + datastartscale + ')'});
Я пытаюсь поместить данные css в переменную без успеха. Мне нужно вызвать эту переменную несколько раз, поэтому сохранение всех этих данных в переменной было бы наиболее идеальным.
var properties = "'transform': 'scale(' + datastartscale + ')','-ms-transform': 'scale(' + datastartscale + ')','-webkit-transform': 'scale(' + datastartscale + ')','-moz-transform': 'scale(' + datastartscale + ')'";
и тогда я бы написал:
$(this).css({properties});
Какие-либо предложения?
благодаря
Вы должны сохранить свойства как объект:
var properties = {'transform': 'scale(' + datastartscale + ')',
'-ms-transform': 'scale(' + datastartscale + ')',
'-webkit-transform': 'scale(' + datastartscale + ')',
'-moz-transform': 'scale(' + datastartscale + ')'
}
$(this).css(properties);
Просто сделайте
var properties = {'transform': 'scale(' + datastartscale + ')',
'-ms-transform': 'scale(' + datastartscale + ')',
'-webkit-transform': 'scale(' + datastartscale + ')',
'-moz-transform': 'scale(' + datastartscale + ')'}
а также
$(this).css(properties);
properties
в вызове .css()
не должны быть там.
Переменная должна содержать объект, как и аргумент функции, а не строку:
var properties = {'transform': 'scale(' + datastartscale + ')',
'-ms-transform': 'scale(' + datastartscale + ')',
'-webkit-transform': 'scale(' + datastartscale + ')',
'-moz-transform': 'scale(' + datastartscale + ')'};
var properties = {'transform': 'scale(' + datastartscale + ')','-ms-transform': 'scale(' + datastartscale + ')','-webkit-transform': 'scale(' + datastartscale + ')','-moz-transform': 'scale(' + datastartscale + ')'};