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)");

任何帮助表示赞赏!

4

2 回答 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)"
});
于 2013-09-20T21:42:31.367 回答
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)" }
});
于 2013-09-20T21:53:48.147 回答