Установка выражения CSS с использованием $ .css () в JQuery - PullRequest
0 голосов
/ 19 августа 2010

Я пытаюсь установить выражение CSS для атрибута элемента следующим образом.

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

Но я получаю "Неверный аргумент" как ошибку. Есть идеи?

1 Ответ

2 голосов
/ 19 августа 2010

Выражения устарели и удалены в IE8 (если вы не в режиме совместимости).Они также снижают производительность, и вы должны держаться от них подальше, если можете, используя вместо этого JavaScript.

Вам не нужно использовать eval () внутри expression () , и это является причиной вашей ошибки. eval () ожидает строку, но вы передаете ей результат переменной, которая является Number .Вынимайте eval () :

"expression(" + scrollTopExpr + ")";

expression () уже оценивает переданное вами выражение, поэтому eval () совершенно ненужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...