Скажем, у меня есть что-то вроде этого:
$('#someID').css({
left: function(index,value) { return newv(value, 37, 39); },
top: function(index,value) { return newv(value, 38, 40); }
});
и я хочу включить свойство transform:rotate(30deg)
. Как мне это сделать? После небольшого поиска я ничего не нашел.
Чтобы добавить несколько свойств без функций:
$('#someID').css({
"transform": "rotate(30deg)",
"top": "-60px",
"left": "600px"
});
Чтобы добавить одно свойство:
$('#someID').css("transform", "rotate(30deg)");
Любая помощь приветствуется!
Я не уверен, о чем вы просите, но:
$('#someID').css({
left: function(index,value) { return newv(value, 37, 39); },
top: function(index,value) { return newv(value, 38, 40); },
transform: 'rotate(30deg)'
});
работает отлично
Вы также можете использовать функцию здесь:
$('#someID').css({
left: function(index,value) { return newv(value, 37, 39); },
top: function(index,value) { return newv(value, 38, 40); },
transform: function(index,value) { return "rotate(" + Math.random() * 90 + "deg)" }
});
но сложно получить предыдущее значение, потому что оно больше не является строкой, а матрицей преобразования. Поэтому лучший способ - просто сохранить предыдущее значение в другом месте и использовать его. Например:
$('#someID').css({
left: function(index,value) { return newv(value, 37, 39); },
top: function(index,value) { return newv(value, 38, 40); },
transform: function(index,value) {
value = this.rotate || 0;
return "rotate(" + (this.rotate = newv(value, 39, 41)) + "deg)" }
});
можешь попробовать:
$('#someID').css({
left: function(index,value) { return newv(value, 37, 39); },
top: function(index,value) { return newv(value, 38, 40); },
"transform": "rotate(30deg)"
});