PageYOffset Прокрутка и анимация в IE8                     
                     Я работаю над прокруткой дизайна страницы, и у меня есть следующий Javascript, чтобы скрыть и показать диалоговое окно:
        if(window.pageYOffset >= 300){
            $('#m1').fadeIn('slow');
    }
    if(document.documentElement.scrollTop >=300){
        $('#m1').fadeIn('slow');
    }
Это отлично работает в Chrome, FF, IE9 +
Однако в IE8,7 это всего лишь работа. Он показывает и скрывает элемент правильно, но задержка между ним, когда он оценивает положение прокрутки и когда он скрывает элемент, является ужасающим. Кроме того, нет никакого исчезновения, это просто происходит.
Мне интересно, просто ли это проблема с IE8, с которой мне нужно иметь дело, или если у меня есть способ достичь реактивного, чистого исчезновения с IE8.
                     Ответы
                                           
                        Ответ 1
                         pageYOffset и pageXOffset не поддерживаются в IE8 и ранее, попробуйте эту функцию:
// Return the current scrollbar offsets as the x and y properties of an object
function getScrollOffsets() {
    // This works for all browsers except IE versions 8 and before
    if ( window.pageXOffset != null ) 
       return {
           x: window.pageXOffset, 
           y: window.pageYOffset
       };
    // For browsers in Standards mode
    var doc = window.document;
    if ( document.compatMode === "CSS1Compat" ) {
        return {
            x: doc.documentElement.scrollLeft, 
            y: doc.documentElement.scrollTop
        };
    }
    // For browsers in Quirks mode
    return { 
        x: doc.body.scrollLeft, 
        y: doc.body.scrollTop 
    }; 
}
                        
                                            
                        Ответ 2
                        Вы также можете исправить это, используя следующее:
document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset;
Итак, у вас есть
if((document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset) >= 300){
        $('#m1').fadeIn('slow');
}
Таким образом вы можете избежать репликации кода.