Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   css expression + jquery (https://javascript.ru/forum/jquery/11071-css-expression-jquery.html)

jetli13 05.08.2010 10:18

css expression + jquery
 
Можно ли динамически засунуть экспрешен в цсс?
Попробовал таким образом
$('#el').css({'height' : 'expression(document.body.clientHeight + 1)'})
Ругается на недопустимый аргумент ( ругань в ie, в других не пробовал в т.к. там подобное не требовалось)

Sweet 05.08.2010 10:28

По теме не в курсе, но я бы рекомендовал отказаться от использования expression. Лучше написать тоже самое на js на события onload и onresize.

exec 05.08.2010 10:54

$('#el').css('height', document.body.clientHeight + 1);

jetli13 05.08.2010 11:53

exec,
Цитата:

$('#el').css('height', document.body.clientHeight + 1);
задаст ширину единожды. Но не будет ее вычислять(

Sweet 05.08.2010 12:07

Цитата:

Сообщение от jetli13
задаст ширину единожды. Но не будет ее вычислять(

Очевидно, потому, что это не expression.
Цитата:

Сообщение от jetli13
Можно ли динамически засунуть экспрешен в цсс?

А может и нельзя:)
Цитата:

Сообщение от Sweet
Лучше написать тоже самое на js на события onload и onresize.

Еще раз обращу внимание, что такой вариант будет и кроссбраузерным, и не будет создавать лишних нагрузок: скорее всего код будет выполняться единожды (вероятность, что пользователь будет менять размер окна невелика), а при expression код будет выполняться сто тыщ миллионов раз. Оно на мой взгляд не нужно:)

jetli13 05.08.2010 12:17

Sweet,
Цитата:

Лучше написать тоже самое на js на события onload и onresize
срабатывать будет, выполнятся - не обязательно
http://cssing.org.ua/2007/12/06/expr...-optimization/

Да и потом он уже прописан, мне его нужно переопределить.
Цитата:

А может и нельзя
Потому и создал тему, может кто то знает наверняка. У меня пока не получается (

Kolyaj 05.08.2010 12:22

http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

jetli13 05.08.2010 12:56

Kolyaj,
:thanks:
То что нужно!

Snipe 22.11.2010 11:50

Ерунда какая-то. Почему expression может выполняться только один раз?
Делаю замену position:fixed для IE 6, через top: expression(document.documentElement.scrollTop);

При загрузке элемент встает куда надо, и потом уже не двигается.

Kolyaj 22.11.2010 11:53

Цитата:

Сообщение от Snipe
Почему expression может выполняться только один раз?

Он не один раз выполняется, где-то в другом месте у вас баг.


Часовой пояс GMT +3, время: 12:33.