определить что scroll закончился
Как определить, что горизонтальный скролл дошел до упора правой или левой границы?
|
левая - window.scrollX == 0
правая - window.document.body.clientWidth - window.scrollX - window.innerWidth == 0 в старых браузерах чуть иначе. |
Спасибо большое, попробовал, не помогло. Забыл уточнить, что скролл вложенные, то есть, существует определенный контент:
![]() там, я нашел вот такой вот код: dhtmlxEvent(this.$scroll_hor, "scroll", function() { if (gantt._touch_scroll_active) return; var left = gantt.$scroll_hor.scrollLeft; console.log(left); gantt.scrollTo(left); }); Вызывается данный обработчик при любом перетаскивании горизонтального скролла. Левая граница left =0, правая left = 910. Однако константные выражения использовать я бы не стал. Может еще что подскажите? |
:-?
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> div{ position: fixed; display: inline-block; } body, html{ min-width: 2000px; position: relative; } </style> </head> <body> <div>?</div> <script> window.onscroll = function () { var div = document.querySelector('div'), scrollWidth = document.documentElement.scrollWidth, clientWidth = document.documentElement.clientWidth, maxScroll = Math.max(scrollWidth, clientWidth) - document.documentElement.clientWidth, scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; div.innerHTML =(scrollLeft == 0 || scrollLeft == maxScroll) ? scrollLeft ? 'max' : 'min' : scrollLeft; } </script> </body> </html> |
Спасибо, что привели пример, но у меня(google chrome) он работает верно, только при минимуме, а максимум, так и остается 1119.
|
Цитата:
|
Часовой пояс GMT +3, время: 17:46. |