currentStyle в IE является нулевым - PullRequest
3 голосов
/ 10 ноября 2010

Я пытаюсь вычислить текущий стиль элемента:

function cssIsLoaded(c) {
    if (window.getComputedStyle) {
        return window.getComputedStyle(c, null).display === "none";
    }
    else if (c.currentStyle) {

    }

    return true;
}

(function() {
    var cssload = document.createElement("div");
    cssload.className = "_css_loaded";
    checkLoaded();

    function checkLoaded() {
        if (!cssIsLoaded(cssload)) setTimeout(function() {
            checkLoaded();
        }, 20);
        else blalbalblbalbalablbal();
    }
})();

IE не попадает во второе условие, c.currentStyle равно нулю ... почему это так?

1 Ответ

7 голосов
/ 10 ноября 2010

Элемент не заполняет свое свойство currentStyle до тех пор, пока он не добавлен в документ, что имеет некоторый смысл: до тех пор, пока элемент не будет добавлен в документ, браузер не может знать, какие существующие правила стиля будут применяться к нему.

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