Advanced JavaScript Scroll Techniques
Explore advanced JavaScript scroll techniques for smooth, fast, and continuous scrolling. Learn how to scroll to the top or bottom of a page, scroll left or right indefinitely, and create infinite scroll loops.
Scroll to Bottom of Page
window.scrollTo(0, document.body.scrollHeight);
Scroll to Top of Page
window.scrollTo(0, 0);
Scroll to Left Side of Page
window.scrollTo(0, window.pageXOffset);
Scroll to Right Side of Page
window.scrollTo(document.body.scrollWidth, window.pageYOffset);
Smooth Scrolling to Bottom
window.scrollTo({
top: document.body.scrollHeight,
behavior: 'smooth'
});
Fast Scroll to Bottom
const superScroll = (scrollStep = 50, scrollSpeed = 5) => setInterval(() => (document.documentElement.scrollTop += scrollStep) >= document. documentElement.scrollHeight && clearInterval(scrollInterval), scrollSpeed);
superScroll();
Super-Fast Scroll to Bottom
const superScroll = (scrollStep = 200, scrollSpeed = 10) => setInterval(() => (document.documentElement.scrollTop += scrollStep) >= document. documentElement.scrollHeight && clearInterval(scrollInterval), scrollSpeed);
superScroll();
Super-Fastest Scroll to Bottom
```javascript const superScroll = (scrollStep = 5000, scrollSpeed = 5) => { const scrollToBottom = () => { document.documentElement.scrollTop += scrollStep; if ( document.documentElement.scrollTop < document.documentElement.scrollHeight) requestAnimationFrame(scrollToBottom); }; scrollToBottom(); };
superScroll();
````
Autoscroll to Bottom with Timeout
function autoScrollToBottom() {
window.scrollTo(0, document.body.scrollHeight);
}
var scrollInterval = setInterval(autoScrollToBottom, 1000);
setTimeout(function() {
clearInterval(scrollInterval);
}, 10000);
Scroll to Top of Page
function scrollToTop() {
window.scrollTo({ top: 0, behavior: 'smooth' });
}
scrollToTop();
Autoscroll to Bottom
function autoScrollToBottom() {
window.scrollTo(0, document.body.scrollHeight);
}
var scrollInterval = setInterval(autoScrollToBottom, 1000);
setTimeout(function() {
clearInterval(scrollInterval);
}, 10000);
Autoscroll Smoothly to Bottom
function autoScrollSmooth() {
var scrollStep = 50;
var scrollSpeed = 10;
var scrollDelay = 2000;
var scrollInterval = setInterval(function() {
window.scrollBy(0, scrollStep);
if (window.innerHeight + window.pageYOffset >= document.body.offsetHeight) {
clearInterval(scrollInterval);
setTimeout(autoScrollSmooth, scrollDelay);
}
}, scrollSpeed);
}
autoScrollSmooth();
Autoscroll with Infinite Loop
const autoScrollInfiniteLoop = (scrollStep = 50, scrollSpeed = 1) => setInterval(() => (window.scrollBy(0, scrollStep), window.innerHeight + window. pageYOffset >= document.body.offsetHeight && window.scrollTo(0, 0)), scrollSpeed);
autoScrollInfiniteLoop();
Scroll Up and Down Forever
function scrollUpDownForever() {
var scrollStep = 10;
var scrollSpeed = 5;
var scrollDirection = 1;
var scrollInterval = setInterval(function() {
window.scrollBy(0, scrollStep * scrollDirection);
if (
(scrollDirection === -1 && window.pageYOffset <= 0) ||
(scrollDirection === 1 && window.innerHeight + window.pageYOffset >= document.body.offsetHeight)
) {
scrollDirection *= -1; // Reverse the scroll direction
}
}, scrollSpeed);
}
scrollUpDownForever();
Scroll Right Forever
function scrollRightForever() {
var scrollStep = 10;
var scrollSpeed = 5;
var scrollInterval = setInterval(function() {
window.scrollBy(scrollStep, 0);
if (window.innerWidth + window.pageXOffset
>= document.body.offsetWidth) {
window.scrollTo(0, window.pageYOffset);
}
}, scrollSpeed);
}
scrollRightForever();
Scroll Left Forever
function scrollLeftForever() {
var scrollStep = 10;
var scrollSpeed = 5;
var scrollInterval = setInterval(function() {
window.scrollBy(-scrollStep, 0);
if (window.pageXOffset <= 0) {
window.scrollTo(document.body.offsetWidth, window.pageYOffset);
}
}, scrollSpeed);
}
scrollLeftForever();
Scroll One-Third Forever
function scrollOneThirdForever() {
var scrollStep = Math.floor(window.innerWidth / 3);
var scrollSpeed = 5;
var scrollDirection = 1;
var scrollInterval = setInterval(function() {
window.scrollBy(scrollStep * scrollDirection, 0);
// Check if reached the end or beginning of the page
if (
(scrollDirection === 1 && window.innerWidth + window.pageXOffset >= document.body.offsetWidth) ||
(scrollDirection === -1 && window.pageXOffset <= 0)
) {
scrollDirection *= -1; // Reverse the scroll direction
}
}, scrollSpeed);
}
scrollOneThirdForever();