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, время: 21:02. |