0

По какой-то причине моя функция краха навигации не работает в Firefox/IE, но работает в Chrome.Javascript не работает в Firefox/IE, но работает в Chrome

<script type="text/javascript"> 
    $(function(){ 
     $('#header').data('size','big'); 
    }); 

    $(window).scroll(function(){ 
     var $nav = $('#header'); 
     if ($('body').scrollTop() > 0) { 
      if ($nav.data('size') == 'big') { 
       $('#logo').fadeOut(300); 
       $nav.data('size','small').stop().animate({ 
        height:'95px' 
       }, 600); 
      } 
     } else { 
      if ($nav.data('size') == 'small') { 
       $('#logo').fadeIn(300); 
       $nav.data('size','big').stop().animate({ 
        height:'185px' 
       }, 600); 
      } 
     } 
    }); 
</script> 

Любые идеи? Я думаю, что это синтаксическая ошибка.

Вы можете увидеть живой пример в навигации по http://medialimes.com

+1

Вы получаете ошибки в консоли. Вероятно, вы должны это проверить. – Pointy

+0

Также в Firefox элемент тела никогда не прокручивается, поэтому его «scrollTop» всегда равен нулю. – Pointy

ответ

2

Попробуйте использовать $(window).scrollTop() вместо $('body').scrollTop(). Это должно работать как на Chrome, так и на Firefox/IE.

+0

Я думаю, что ты прав! Добро пожаловать в Stackoverflow! – Pointy

0

Я думаю, что когда вы пытаетесь установить

$('#header').data('size','big') 

Безразлично фактически установить переменные данные должным образом.

Попробуйте установить его с помощью метода attr.

$(#header).attr('size','big'); 
Смежные вопросы