2016-11-04 3 views
0

У меня проблема с моим кодом scrollTop javascript только для firefox. Я поставил некоторые привязки на href-ссылки, и только на chrome/explorer работает гладкий свиток. На firefox нет. Он перескакивает только на эту кнопку, но не прокручивается.ScrollTop js - Firefox не работает

Ошибка консоли в консоли Firefox: этот сайт использует эффект позиционирования с прокруткой. Это может плохо работать с асинхронным панорамированием; см. https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects для получения дополнительной информации и присоединиться к обсуждению соответствующих инструментов и функций!

Мой код:

if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) { 
    $scrollWrapper = $(document); 

    scroll = function scroll(value, hash) { 
     $scrollWrapper.scrollTop(value); 
     currentHash = hash; 
    }; 
} else { 
    $scrollWrapper = $('html, body'); 

    scroll = function scroll(value, hash) { 
     $(document).off('scroll.currentHash'); 

     $scrollWrapper.animate({ 
      scrollTop: value + 30 
     }, { 
      delay: 500, 
      complete: function() { 
       currentHash = hash; 
      } 
     }); 
    }; 
} 
+0

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

+0

Try: '$ scrollWrapper = $ (окна);' –

+0

«Firefox scrollTop stackoverflow» возвращает немало результатов. Вы взглянули на них? – tmslnz

ответ

0

Firefox помещает переполнение на уровне HTML, если специально не разработано, чтобы вести себя по-разному.

Чтобы заставить его работать в Firefox, используйте

$('body,html').animate(...); 

Рабочий пример http://jsfiddle.net/4etct/ В CSS решение было бы установить следующие стили:

html { overflow: hidden; height: 100%; } 
body { overflow: auto; height: 100%; } 

Я бы предположил, что решение JS будет наименее инвазивным.

+0

Hi @Bhupinderkumar Это работает .. Спасибо. –

+0

Хорошо его отлично знать –

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