Deerua about Coding -> Заметки с тегом «expression»

Блог о кодинге, автор Deerua

coding, javascript, css, html, php, jquery, mysql, deerua

Deerua about Coding

 Избранное

 Самые комментируемые за всю историю

 199 заметок ненаглядно

 Архив за 2010, 2009, 2008  год




 6 сентября 2009, 10:55       более года назад

Одноразовый и Кэшируемый expression в ИЕ (lte 7)

Все знают о возможностях ИЕ, по части вставки JavaScript кода в CSS, так называемых expression. Казалось бы замечательно, но на самом деле нет. Если мы просто повесим експрешн на какой-нить селектор, он будет вычисляться постоянно, заметно снижая производительность не столь быстрых браузеров.

Для этого можно использовать одноразовый и кэшируемый експрешны.
/* Одноразовый expression
   * - хак для gte IE7 */
* html .onecetime {
    width: expression(
        runtimeStyle.width = "auto",
        appendChild(createElement("sometag")))­;
}
/* элемент создаётся через JS, 
поэтому expression срабатывает только раз */
* html .onecetime  sometag{
    background: transparent­;
}
/* Кэшируемый expression */
* html .cached {
    /* t = this, 
       Делаем высоту 100% */
    h: expression( function (t) {
        var h = t.parentNode.offsetHeight­;
        if (t.h != h) {
            t.h = h;
            t.style.height = h + "px";
        }
    } (this) );
}

 3 комментария

 Теги: javascript   expression

Нужно создать сайт на 1С-Битрикс(Bitrix)?
Работает на движке e2 Selecta * All sources code was highlighted with w3club Highlighter.
deer.org.ua © 2008—2010 Vitaliy Bogdanets Deerua