Как это работает? - Функция Javascript для исправления не-IE с использованием YUI - PullRequest
0 голосов
/ 05 марта 2010

Вот код, который я пытаюсь понять:

noniefix.js:

function fixNonIE() {
if(YAHOO.env.ua.ie > 0) {
    return false;
}
var divs = YAHOO.util.Dom.get('bd').getElementsByTagName('div');
if(divs.length > 0) {
    YAHOO.util.Dom.batch(divs, pushup);
    alert (divs.length+" divs in file!");
}
}

function pushup(el) {
if(el.id.search('fixer') != -1) {
    return;
}
if(el.innerHTML.search('javascript:textWindow') != -1) {
    el.style.zIndex = parseInt(el.style.zIndex) + 1;
}
var pushupTags = Array('p');
if(pushupTags.length > 0) {
    for(var t=0; t<pushupTags.length; t++) {
        var elems = el.getElementsByTagName(pushupTags[t]);
        YAHOO.util.Dom.batch(elems, (function(e) { e.style.marginTop=0; e.style.marginBottom=0; })); //what's happening HERE?
    }
}
return;
}

Я немного прочитал о YUI, так что я знаю, что пакетная функция просто берет массив элементов и применяет функцию к каждому элементу. Чего я не понимаю, так это где применяются значения marginTop, marginBottom. Я думаю, что они применяются к каждому тегу <p>, но я просмотрел исходный код страницы и не могу найти, куда этот код вставляется.

Любые идеи будут с благодарностью!

1 Ответ

0 голосов
/ 05 марта 2010

Вы не можете увидеть результат этой функции в исходном коде, потому что она динамически применяется JS к каждому тегу DOM, записанному в массиве.Но вы можете увидеть изменения с помощью некоторого программного обеспечения отладчика, например, встроенного в Internet Explorer 8, или firebug под Mozilla Firefox.

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