location.hash
을 사용하여 내 페이지의 다른 곳으로 스크롤합니다. 위치에 해시가없는 경우 제대로 작동합니다. 그러나 위치가 이미 동일한 해시 값을 가진 경우에는 작동하지 않습니다.location.hash는 크롬 및 사파리에서만 한 번 적용됩니다.
예를 들어 location.hash = 'a';
은 <div id="a"></div>
으로 스크롤됩니다. 이제 location.href
은 http://www.example.com/test.html#a
과 같습니다. location.hash = 'a';
이 다시 트리거되면 창은 스크롤되지 않습니다. Chrome 및 Safari에서만 발생합니다.
해결책을 찾은 사람은 Scrolling a page using location.hash in Safari이지만 불필요한 태그를 추가하고 싶지는 않습니다.
나는 또한 location.href = '#a'
을 시도했습니다. 잘 작동하지만 페이지가 다시로드 될 수 있습니다. 아무도 더 좋은 아이디어가 있습니까?