2015-03-11 3 views
-2

Привет У меня в настоящее время есть функция, чтобы показывать изображения на this site, если вы прокрутите страницу вниз, вы увидите изображение, которое отображается, а также на this page.ScrollTop не работает в IE и firefox

Вот однако scrollTop часть не кажется JS, это будет работать на IE и Firefox, мой разработчик написал, и я пытаюсь исправить это сам, без его помощи ..

revealImages: function() { 
    var currentScroll = 0; 
    var totalScroll = $(document).height() - $(window).height(); 
    var newScroll = $('body').scrollTop(); 

    $('.image-flip').each(function() { 
    if(newScroll + $(window).height() >= $(this).offset().top + 200 && currentScroll < newScroll) $(this).addClass('flipped'); 
    }); 

    currentScroll = newScroll; 
} 
+0

возможно дубликат [JQuery scrolltop светлячок не работает] (http://stackoverflow.com/questions/17776544/jquery-scrolltop-firefox -not-working) – blex

ответ

0

Я нашел некоторые ошибки в вашем коде.

var newScroll = $('body').scrollTop();

заменить на

var newScroll = $('html, body').scrollTop();

FF возврата всегда 0 в вашем случае.

Другая ошибка в инструкции if. Вы забыли {}

Это фикс код

revealImages: function() { 
 
    var currentScroll = 0; 
 
    var totalScroll = $(document).height() - $(window).height(); 
 
    var newScroll = $('html, body').scrollTop(); 
 

 
    $('.image-flip').each(function() { 
 
    if((newScroll + $(window).height()) >= ($(this).offset().top + 200) && (currentScroll < newScroll)){ 
 
    \t $(this).addClass('flipped'); 
 
    } 
 
    }); 
 

 
    currentScroll = newScroll; 
 
}

+0

Re if statement: скобки не требуются в этом случае - http://stackoverflow.com/questions/7117873/do-if-statements-in-javascript-require-curly-braces – gibberish

Смежные вопросы