Bootstrap: Scrollspy _getScrollTop () usa Window.scrollY, que não é compatível com o IE

Criado em 8 jul. 2016  ·  3Comentários  ·  Fonte: twbs/bootstrap

Código atual: https://github.com/twbs/bootstrap/blob/v4-dev/js/src/scrollspy.js

_getScrollTop() {
  return this._scrollElement === window ?
      this._scrollElement.scrollY : this._scrollElement.scrollTop
}

MDN diz que a propriedade Window.scrollY não é compatível com o IE. Consegui confirmar isso no IE (11.0.9600.18282) no Windows 7. https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY

Uma solução é chamar jQuery.scrollTop () se scrollY for indefinido. Isso funciona no IE no Windows 7. https://api.jquery.com/scrollTop/

_getScrollTop() {
  return this._scrollElement === window ?
      this._scrollElement.scrollY || $(this._scrollElement).scrollTop() : this._scrollElement.scrollTop
}
has-pr js v4

Comentários muito úteis

Oi,

Posso confirmar que $ (this._scrollElement) .scrollTop () funcionaria.

Esse problema estava me deixando louco, pois funcionava na página de demonstração do bootstrap (http://v4-alpha.getbootstrap.com/components/scrollspy/), mas não no meu projeto.

Na demonstração, o scrollspy é anexado a uma div em vez do corpo, então window.scrollY não é usado aqui, como a janela _scrollElement! =.

Seria ótimo se uma das correções postadas pudesse ser implementada.

Atenciosamente
Andreas

Todos 3 comentários

Ou podemos tentar pageYOffset conforme mencionado naquele artigo MDN.

Eu posso assumir esta tarefa. Isso pode ser atribuído a mim?

Devo apenas criar um PR?

Oi,

Posso confirmar que $ (this._scrollElement) .scrollTop () funcionaria.

Esse problema estava me deixando louco, pois funcionava na página de demonstração do bootstrap (http://v4-alpha.getbootstrap.com/components/scrollspy/), mas não no meu projeto.

Na demonstração, o scrollspy é anexado a uma div em vez do corpo, então window.scrollY não é usado aqui, como a janela _scrollElement! =.

Seria ótimo se uma das correções postadas pudesse ser implementada.

Atenciosamente
Andreas

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

devdelimited picture devdelimited  ·  3Comentários

leomao10 picture leomao10  ·  3Comentários

alvarotrigo picture alvarotrigo  ·  3Comentários

iklementiev picture iklementiev  ·  3Comentários

MrCsabaToth picture MrCsabaToth  ·  3Comentários