документ.тело.scrollTop всегда равен 0 в IE даже при прокрутке


Я показываю значение документа.тело.прокрутка в строке состояния при перемещении мыши. Значение всегда равно 0 в IE. Почему всегда 0? Есть ли другой способ узнать, сколько переместилась полоса прокрутки?

3 59

3 ответа:

вы можете попробовать это для более старого doctype в IE:

var top = (document.documentElement && document.documentElement.scrollTop) || 
              document.body.scrollTop;

эта функция обеспечивает кросс-браузерную реализацию чтения смещения прокрутки:

function posTop() {
            return typeof window.pageYOffset != 'undefined' ? window.pageYOffset: document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop? document.body.scrollTop:0;
        }

В зависимости от типа документа, вам придется использовать document.body.scrollTop или document.documentElement.scrollTop. Вы пробовали второй?

вы можете сделать что-то вроде этого:

var scrollTop = document.documentElement ? document.documentElement.scrollTop :
                                           document.body.scrollTop;

я столкнулся с этими ссылками, исследуя вашу проблему:

Это может помочь вам немного больше.