Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: ksenia от 05 Августа 2005, 22:15:54

Название: Динамическое создание таблицы стилей и доступ к cssRules в Mozilla.
Отправлено: ksenia от 05 Августа 2005, 22:15:54
Здравствуйте, помогите плииз!
Следующая функция создает динамически строку . Затем мне нужно получить высоту в определенном классе. В Мозиле на этом месте rul = styleSheet.cssRules; слетает, она не получает cssRules из css файла, созданного скриптом(если написать в самом html то все работает) . Где-то я читала, что Мозила не получает доступа к cssRules пока таблица стилей полностью не будет загружена, как же тогда ее загрузить? Помогите, кто знает!!!! Надо чтобы в Gescko работало. В IE то работает с rules.
function addStyles() {
               head = document.getElementsByTagName(\'head\')[0];
   style = document.createElement(\'link\');
   style.type = \'text/css\';
   style.href = \'styles.css\';
   style.rel = \'stylesheet\';
   head.appendChild(style);   
   style.onload=getHeight()
}

function getHeight() {
   var styleSheet = document.styleSheets[0],
   rul = styleSheet.cssRules;
                for(i=0; i                    if(rul.selectorText==\'class1\'){
                          alert(rul.style.height);
                    }
                 }
}
Название: Динамическое создание таблицы стилей и доступ к cssRules в Mozilla.
Отправлено: virka от 06 Августа 2005, 09:23:44
Если это действительно из-за этого, то может

...
rul = styleSheet.cssRules;
if(typeof(rul)=="object")
{
for(i=0; i}
else
{
getHeight();
}
...

Только тогда все, что использует этот height тоже должно ждать и проверять, пока он не будет получен.