Ubivectel,
ок! if(scroll < -100) -100 можно подстроить, если нужно, от -50 до -300 |
Я правильно понимаю, что это диапазон прокрутки с которого начнет работать условие? Т.е. если прокручено меньше -50 / -300 то автопрокрутка будет срабатывать?
|
Ubivectel,
да |
Привет мир!
Взбрела в голову мысль добавить счетчик сообщений, если скролл не = 0, сделал так: kide.ajustar_scroll = function () { if (kide.scrolling) return; let scroll = kide.attr("KIDE_msgs", "scrollTop") - (kide.attr("KIDE_msgs", "scrollHeight") - kide.attr("KIDE_msgs", "clientHeight")); if (scroll < -300) { document.getElementById('kide-counter').textContent = newMessageCount; return; } if (kide.order == "bottom") kide.attr("KIDE_msgs", "scrollTop", kide.attr("KIDE_msgs", "scrollHeight")); else kide.attr("KIDE_msgs", "scrollTop", 0); }; Работает и считает все хорошо, хоть убей не могу заставить код делать document.getElementById('kide-counter').textContent = ''; Когда пользователь возвращает прокрутку блока id="KIDE_msgs" вниз ( :help: |
Ubivectel,
как вариант если находясь внизу, отправить сообщение, то счётчик обнулится. kide.ajustar_scroll = function() { if (kide.scrolling) return; let scroll = kide.attr("KIDE_msgs", "scrollTop") - (kide.attr("KIDE_msgs", "scrollHeight") - kide.attr("KIDE_msgs", "clientHeight")); if (scroll < -300) { document.getElementById('kide-counter').textContent = newMessageCount; return; } if (kide.order == "bottom") { kide.attr("KIDE_msgs", "scrollTop", kide.attr("KIDE_msgs", "scrollHeight")); newMessageCount = 0; document.getElementById('kide-counter').textContent = ''; } else kide.attr("KIDE_msgs", "scrollTop", 0); }; |
Что бы он обнулялся после отправки нового сообщения было довольно легко, я пытался именно добиться что бы он обнулялся сразу при прокрутке блока вниз. Чем и сломал моск не только себе, но и GPT ) Ну не верю, что нет решения для js-всемогущего )
|
Цитата:
document.querySelector("#KIDE_msgs").addEventListener("scroll", function() { let scroll = kide.attr("KIDE_msgs", "scrollTop") - (kide.attr("KIDE_msgs", "scrollHeight") - kide.attr("KIDE_msgs", "clientHeight")); if (kide.scrolling) return; if (scroll > -3) { document.getElementById("kide-counter").textContent = ""; return; } }) |
Неа, какую-то подобную конструкцию уже писал, но нет. Посмотреть тут: https://noviy-kovcheg.ru/chatФайл JS вот: https://noviy-kovcheg.ru/components/...top/js/kide.js
|
Консоль ругается на это:
document.querySelector("#KIDE_msgs").addEventListener("scroll", function() |
Цитата:
document.addEventListener("DOMContentLoaded", function() {...}); |
Часовой пояс GMT +3, время: 11:04. |