Если запустить ниже код, будет видно что производится автоматический скролл в конец объекта. Когда пользователь скроллит вверх до объекта НАЧАЛО, как поймать что он достиг начала и выполнить к примеру alert('Вы достигли начала объекта')
function scrollToBottom(el) {
el.scrollTop = el.scrollHeight;
}
scrollToBottom(document.getElementById('result_discussion'));
div {
overflow-y:scroll;
height:150px;
}
<div id="result_discussion">
<li>НАЧАЛО</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>КОНЕЦ</li>
</div>
Вот так можно определить, за счет теста пересечения прямоугольников контейнера и элемента
let container = document.getElementById('result_discussion');
let containerRect = container.getBoundingClientRect();
let trackElements = [...document.querySelectorAll('.track')];
let last;
scrollToBottom(container);
container.onscroll = function() {
trackElements.forEach(el => {
let r = el.getBoundingClientRect();
if (intersectRect(r, containerRect) && last !== el) {
last = el;
console.log(el.textContent)
}
});
}
function scrollToBottom(el) {
el.scrollTop = el.scrollHeight;
}
function intersectRect(r1, r2) {
return !(r2.left > r1.right ||
r2.right < r1.left ||
r2.top > r1.bottom ||
r2.bottom < r1.top);
}
<div id="result_discussion" style="overflow-y: scroll; height: 150px;">
<li class="track">НАЧАЛО</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li class="track">СЕРЕДИНА</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li><li>AAA</li>
<li class="track">КОНЕЦ</li>
</div>
function scrollToBottom(el) {
el.scrollTop = el.scrollHeight;
}
scrollToBottom(document.getElementById('result_discussion'));
$('#result_discussion').scroll(function(){
var s = $("#result_discussion").scrollTop();
if (s == 0) {
console.log('Вы достигли начала объекта');
}
});
div {
overflow-y:scroll;
height:150px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="result_discussion">
<li>НАЧАЛО</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>AAA</li>
<li>КОНЕЦ</li>
</div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Необходимо прикрепить элемент к стенке браузера, чтобы тот взаимодействовал(шапка спускалась) вместе с прокруткой страницы внизНО, при этом...
Проблема в том, что проверяя свою верстку на iPhone, шрифты различаются с Android и WindowsКак это исправить?
Вообщем есть html страницаУ нее задний фон это некое изображение