자바스크립트를 사용하여 페이지 상단으로 스크롤하려면 어떻게 하나요? 스크롤바가 즉시 상단으로 이동하는 것이 바람직합니다. 부드러운 스크롤을 원하지 않습니다.
우수한 솔루션을 통해 준대칭 애니메이션:
// this changes the scrolling behavior to "smooth"
window.scrollTo({ top: 0, behavior: 'smooth' });
참조: # 예제에서와 https://developer.mozilla.org/en-us/docs/web/api/window/scrollto
부드러운 스크롤, 순수 javascript:
(function smoothscroll(){
var currentScroll = document.documentElement.scrollTop || document.body.scrollTop;
if (currentScroll > 0) {
window.requestAnimationFrame(smoothscroll);
window.scrollTo (0,currentScroll - (currentScroll/5));
}
})();
이 경우, 시도하시오 스크롤하지 준대칭 want to do.
$("a").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
Javascript 가 빈다우지스크롤토 다른 해결 방법:
window.scrollTo(x-value, y-value);
매개변수입니다:
정말 이상한: 이 질문에 대한 대답은, 바닐라, 지금 5 년 동안 활성인지 JavaScript 를 애니메이션할 스크롤하지 여기 있어 아직 없다.
var scrollToTop = window.setInterval(function() {
var pos = window.pageYOffset;
if ( pos > 0 ) {
window.scrollTo( 0, pos - 20 ); // how far to scroll on each step
} else {
window.clearInterval( scrollToTop );
}
}, 16); // how fast to scroll (this equals roughly 60 fps)
원하는 경우 랩 (wrap) '를 통해 온 클릭' 이 있는 기능 및 그 외의 속성. 이것 [이스피들] [1]
참고: 이것은 매우 기본적인 솔루션 및 아니더라도 가장 강력한 하나. 매우 좋은 예 여기에서 찾을 수 있습니다. https://github.com/cferdinandi/smooth-scroll
(0, 0) 을 (를) ',' 매우 fast< 빈다우지스크롤토 br>; 그래서 시도해 lesher 우르시누 acrobatconnectcentral. 하지만 크롬 아무것도아니야 happens< br>; 그 결과 이
$('.showPeriodMsgPopup').click(function(){
//window.scrollTo(0, 0);
$('html').animate({scrollTop:0}, 'slow');//IE, FF
$('body').animate({scrollTop:0}, 'slow');//chrome, don't know if Safari works
$('.popupPeriod').fadeIn(1000, function(){
setTimeout(function(){$('.popupPeriod').fadeOut(2000);}, 3000);
});
});
모두 3 개의 브라우저 및 it works< 테스트되었습니다 br>;
이 때, 책 now" " 클라이언트여야 클릭. 버튼 및 doesn& # 39 위로 천천히 이동할 수 없는, 대여 기간을 선택되었으므로 달력을 열고 있는 대화 div, input> 가리키는 2 < 있다. 그 후 점점 3sec 필드
[롯이여] 는 (https://stackoverflow.com/a/1145297/1015595) [의] (https://stackoverflow.com/a/14981461/1015595) [직접] (https://stackoverflow.com/a/10278290/1015595) 를 모두 선택하면 추천합니까 body 태그 크로스 브라우저 호환성을 위해 html 과 같은 있습니다.
$('html, body').animate({ scrollTop: 0 }, callback);
이 경우, 알파 (α) 를 실행할 수 있는 여행 표시되어도 you& # 39 한 번만 콜백하는 re you up. # 39, ve 두 요소 때문에 실제로 두 번 실행하십시오 you& 선택한 것으로 보인다.
만약 이것이 문제를 해결하기 위해 이 같은 일이, 할 수 있습니다.
function scrollToTop(callback) {
if ($('html').scrollTop()) {
$('html').animate({ scrollTop: 0 }, callback);
return;
}
$('body').animate({ scrollTop: 0 }, callback);
}
그 이유는 이 작품은 '$ (& # 39, html& # 39,) 는 크롬 지스크롤토프 ()' 등 타 브라우저 Firefox 에서 0 이지만 되돌려줍니다 없습니다.
function scrollToTop(callback) {
if ($('html').scrollTop()) {
$('html').animate({ scrollTop: 0 }, callback);
return;
}
if ($('body').scrollTop()) {
$('body').animate({ scrollTop: 0 }, callback);
return;
}
callback();
}
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
$(".scrolltop").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
.section{
height:400px;
}
.section1{
background-color: #333;
}
.section2{
background-color: red;
}
.section3{
background-color: yellow;
}
.section4{
background-color: green;
}
.scrolltop{
position:fixed;
right:10px;
bottom:10px;
color:#fff;
}
<html>
<head>
<title>Scroll top demo</title>
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
</head>
<body>
<div class="content-wrapper">
<div class="section section1"></div>
<div class="section section2"></div>
<div class="section section3"></div>
<div class="section section4"></div>
<a class="scrolltop">Scroll top</a>
</div>
</body>
</html>
끝 - < 스니핏 >;!