Code to compare the last scroll position before and after the user scrolls, allowing us to detect whether the scroll direction is up or down.
Here’s the revised JavaScript code:
// Initialize the constant iMove with null
let iMove = null;
// Set the threshold for scrolling (100 pixels)
const threshold = 100;
// Initialize the last scroll position
let lastScrollY = window.scrollY;
// Function to handle scroll events
function handleScroll(evt) {
const currentScrollY = evt.target.scrollTop;;
// Calculate the difference between current and last scroll position
const scrollDifference = currentScrollY - lastScrollY;
if (scrollDifference > threshold) {
// User scrolled down
iMove = 'down';
} else if (scrollDifference < -threshold) {
// User scrolled up
iMove = 'up';
} else {
// Reset iMove to null
iMove = null;
}
// Update last scroll position
lastScrollY = currentScrollY;
}
// Attach the scroll event listener to your target div (replace 'your-div-id' with the actual ID)
document.getElementById('your-div-id').addEventListener('scroll', handleScroll);
In the above code, we keep track of the last scroll position (lastScrollY) and calculate the difference between the current scroll position and the last one. If the difference exceeds the threshold, we determine whether the user scrolled up or down. Otherwise, iMove remains null. Remember to replace 'your-div-id' with the actual ID of the div you want to track. Feel free to customize this code further as needed! 😊