определить что 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, время: 09:43. |