<div id="containerDiv"></div>
#containerDiv {
position: absolute;
top: 0px;
width: 400px;
height: 100%;
padding: 5px;
font-size: .875em;
overflow-y: scroll;
}
document.getElementById("containerDiv").innerHTML = variableLongText;
다음 번에 컨테이너 div의 맨 위로 스크롤 위치를 재설정하는 방법은 무엇입니까?
답변
var myDiv = document.getElementById('containerDiv');
myDiv.innerHTML = variableLongText;
myDiv.scrollTop = 0;
scrollTop
속성을 참조하십시오 .
답변
부드러운 애니메이션으로하는 또 다른 방법은 다음과 같습니다.
$("#containerDiv").animate({ scrollTop: 0 }, "fast");
답변
이 질문에 대한 기존 답변을 시도했지만 아무도 Chrome에서 나를 위해 일하지 않았습니다. 작업은 약간 달랐습니다.
$('body, html, #containerDiv').scrollTop(0);
답변
scrollTo
window.scrollTo(0, 0);
창을 맨 위로 스크롤하기위한 궁극적 인 솔루션입니다. 가장 좋은 부분은 ID 선택기가 필요하지 않으며 IFRAME 구조를 사용하더라도 매우 잘 작동한다는 것입니다.
scrollTo () 메서드는 문서를 지정된 좌표로 스크롤합니다.
window.scrollTo (xpos, ypos);
xpos 번호가 필요합니다. x 축 (가로)을 따라 스크롤 할 좌표 (픽셀 단위)
ypos 숫자 필수입니다. Y 축 (세로)을 따라 스크롤 할 좌표 (픽셀 단위)
jQuery
동일한 작업을 수행하는 또 다른 옵션은 jQuery를 사용하는 것입니다.
$('html,body').animate({scrollTop: 0}, 100);
여기서 scrollTop 뒤의 0은 픽셀의 수직 스크롤바 위치를 지정하고 두 번째 매개 변수는 작업을 완료하는 데 걸리는 시간을 마이크로 초 단위로 표시하는 선택적 매개 변수입니다.
답변
이것은 나를 위해 일했습니다.
document.getElementById('yourDivID').scrollIntoView();
답변
여전히이 작업을 수행 할 수없는 경우 jQuery 함수를 사용하기 전에 오버플로 된 요소가 표시 되는지 확인하십시오 .
예 :
$('#elem').show();
$('#elem').scrollTop(0);
답변
나를 위해 scrollTop 방식은 작동하지 않았지만 다른 것을 찾았습니다.
element.style.display = 'none';
setTimeout(function() { element.style.display = 'block' }, 100);
안정적인 CSS 렌더링을위한 최소 시간을 확인하지 않았지만 100ms는 과도 할 수 있습니다.