CSS: Determine if an element has been totally scrolled
Element: scrollHeight property - Web APIs | MDN (mozilla.org)
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; } html, body { height: 100%; } div { width: 300px; height: 500px; margin: 30px; border: 20px dashed violet; padding: 40px; background-color: plum; position: relative; overflow-x: scroll; overflow-y: scroll; display: flow-root; } aside { width: 100px; height: 800px; background-color: peru; position: absolute; margin: 10px; padding: 20px; border: 30px dotted coral; top: 50px; } </style> </head> <body> <div> <aside></aside> </div> <script> const div = document.querySelector('div') const aside = document.querySelector('aside') div.onscroll = function() { const sum = div.clientHeight + div.scrollTop console.log(sum, div.scrollTop) console.log(div.scrollHeight - sum) } </script> </body> </html>