Mostly to play around with HTML/CSS/JS again!
The message will be shown after a it's main content is fully rendered when scrolling down. It will revert to the previous message (or just keep the first one visible) when scrolling up.
Step 1 - keep track of the scrolling direction
document.addEventListener('DOMContentLoaded', function () {
let lastScrollTop = window.scrollY || document.body.scrollTop;
let scrollDirection;
document.addEventListener("scroll", function (event) {
const currentScrollTop = window.scrollY || document.body.scrollTop;
if (currentScrollTop > lastScrollTop) {
scrollDirection = SCROLL_DIRECTION_DOWN;
} else {
scrollDirection = SCROLL_DIRECTION_UP;
}
// Catering for mobile and negative scrolling
lastScrollTop = currentScrollTop <= 0 ? 0 : currentScrollTop;
}, { passive: true })
});
Here we set it to passive to avoid possible jank, telling it that we won't call preventDefault
, so that the browser can start the default action without waiting for the listener.
Approach using data-message-id.
- Step 1: create an array of messages
- This needs to be HTML cause we are using tags. There is no DB call whatsoever, so we'll just set the innerHTML
- Step 2: Create a div with the "data-message-id"
Document the above better.. when you have time.
- Talkative Jon could fit its content a bit better
- Some Boxes don't have words highlighting, find some and highlight
- Some parts are not as responsive as I wished:
- The header part in general
- Talkative Jon
- The skills list
- Add the section about annalise
- Whatsapp seen not seen
- Whatsapp arrow on the message to actually look like what's app