CSS jQuery с функциями и свойствами

0

Скажем, у меня есть что-то вроде этого:

$('#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)");

Любая помощь приветствуется!

Теги:
properties

2 ответа

0
Лучший ответ

Я не уверен, о чем вы просите, но:

$('#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)" }
});
  • 0
    Этот последний код не совсем помог, но помог мне на правильном пути - спасибо!
0

можешь попробовать:

$('#someID').css({
    left: function(index,value) { return newv(value, 37, 39); },
    top: function(index,value) { return newv(value, 38, 40); },
    "transform": "rotate(30deg)"
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню