Bootstrap: Scrollspy _getScrollTop()은 IEμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠλŠ” Window.scrollYλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 07μ›” 08일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: twbs/bootstrap

ν˜„μž¬ μ½”λ“œ: https://github.com/twbs/bootstrap/blob/v4-dev/js/src/scrollspy.js

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

MDN은 Window.scrollY 속성이 IEμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠλŠ”λ‹€κ³  λ§ν•©λ‹ˆλ‹€. Windows 7의 IE(11.0.9600.18282)μ—μ„œ 이λ₯Ό 확인할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY

ν•œ 가지 해결책은 scrollYκ°€ μ •μ˜λ˜μ§€ μ•Šμ€ 경우 jQuery.scrollTop()을 ν˜ΈμΆœν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이것은 Windows 7의 IEμ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€. https://api.jquery.com/scrollTop/

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

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ•ˆλ…•ν•˜μ„Έμš”,

$(this._scrollElement).scrollTop()이 μž‘λ™ν•˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” λΆ€νŠΈμŠ€νŠΈλž© 데λͺ¨ νŽ˜μ΄μ§€(http://v4-alpha.getbootstrap.com/components/scrollspy/)μ—μ„œλŠ” μž‘λ™ν–ˆμ§€λ§Œ λ‚΄ ν”„λ‘œμ νŠΈμ—μ„œλŠ” μž‘λ™ν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— λ‚˜λ₯Ό 미치게 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

데λͺ¨μ—μ„œ scrollspyλŠ” λ³Έλ¬Έ λŒ€μ‹  div에 μ—°κ²°λ˜μ–΄ μžˆμœΌλ―€λ‘œ window.scrollYλŠ” _scrollElement != 창으둜 μ—¬κΈ°μ—μ„œ μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ²Œμ‹œλœ μˆ˜μ • 사항 쀑 ν•˜λ‚˜λ₯Ό κ΅¬ν˜„ν•  수 μžˆλ‹€λ©΄ 쒋을 κ²ƒμž…λ‹ˆλ‹€.

μ•ˆλΆ€
μ•ˆλ“œλ ˆμ•„μŠ€

λͺ¨λ“  3 λŒ“κΈ€

λ˜λŠ” ν•΄λ‹Ή MDN 기사에 μ–ΈκΈ‰λœ λŒ€λ‘œ pageYOffset λ₯Ό μ‹œλ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 이 일을 맑을 수 μžˆλ‹€. λ‚˜μ—κ²Œ ν• λ‹Ήν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

PR만 ν•΄μ•Ό ν•˜λ‚˜μš”?

μ•ˆλ…•ν•˜μ„Έμš”,

$(this._scrollElement).scrollTop()이 μž‘λ™ν•˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” λΆ€νŠΈμŠ€νŠΈλž© 데λͺ¨ νŽ˜μ΄μ§€(http://v4-alpha.getbootstrap.com/components/scrollspy/)μ—μ„œλŠ” μž‘λ™ν–ˆμ§€λ§Œ λ‚΄ ν”„λ‘œμ νŠΈμ—μ„œλŠ” μž‘λ™ν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— λ‚˜λ₯Ό 미치게 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

데λͺ¨μ—μ„œ scrollspyλŠ” λ³Έλ¬Έ λŒ€μ‹  div에 μ—°κ²°λ˜μ–΄ μžˆμœΌλ―€λ‘œ window.scrollYλŠ” _scrollElement != 창으둜 μ—¬κΈ°μ—μ„œ μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ²Œμ‹œλœ μˆ˜μ • 사항 쀑 ν•˜λ‚˜λ₯Ό κ΅¬ν˜„ν•  수 μžˆλ‹€λ©΄ 쒋을 κ²ƒμž…λ‹ˆλ‹€.

μ•ˆλΆ€
μ•ˆλ“œλ ˆμ•„μŠ€

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰