addClass и removeClass не работают в IE - PullRequest
1 голос
/ 07 января 2012

У меня есть этот код, который проверяет верхнее смещение и соответственно меняет класс меню. Он работает отлично, за исключением IE7 и IE8, где класс не изменился. Это код:

$(document).scroll(function(){
if($(document).scrollTop() >= 800) {
$('#menu').removeClass('default').addClass('fixed');
}
else{$('#menu').removeClass('fixed').addClass('default');}
});

Если кто-то хочет взглянуть, ссылка http://www.vivianzoric.com/esiq/index.html

p.s. Не спрашивайте меня, почему он разваливается в IE7, я только начинаю работать над этим вчера:)

Ответы [ 2 ]

3 голосов
/ 07 января 2012

Попробуйте использовать window вместо document

$(window).scroll(function(){  } );

Но оставьте $(document).scrollTop(function()

И, как вы знаете, .scrollTop работает в IE (IE8 в любом случае))

ОБНОВЛЕНИЕ

Вот точный код, который я сейчас использую на одном из моих сайтов

$(window).scroll(function(){
    if( $(document).scrollTop() >= 800 ) ){
        //my code
    }else{
        //my code
    }

});
0 голосов
/ 07 января 2012

Проблема в scrollTop(), которая не работает должным образом в IE

См. http://api.jquery.com/scrollTop/

...