在JQuery中使用$ .css()设置CSS表达式

时间:2010-08-19 10:10:52

标签: jquery css

我正在尝试为元素的属性设置css表达式,如下所示。

var scrollTopExpr = '$(document).scrollTop()';
var expr = "expression(eval(" + scrollTopExpr + "))";
$(this).css("top", expr);

但我得到“无效参数”作为错误。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在IE8中不推荐使用表达式并将其删除(除非您处于兼容模式)。他们也是表现生猪,如果可以的话,你应该远离他们,而不是使用JavaScript。

您不需要在表达式()中使用 eval(),这就是导致错误的原因。 eval()需要一个字符串,但您要将变量的结果传递给它,这是一个 Number 。取出 eval()

"expression(" + scrollTopExpr + ")";

expression()已经计算了传递给它的表达式,所以 eval()是完全没必要的。