Алилуйя, спасибо
Вот что получилось в итоге:
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;
document.getElementById("kide-counter").style.display = "block";
return;
}
if (kide.order == "bottom")
kide.attr("KIDE_msgs", "scrollTop", kide.attr("KIDE_msgs", "scrollHeight"));
else kide.attr("KIDE_msgs", "scrollTop", 0);
};
document.addEventListener("DOMContentLoaded", function () {
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) {
newMessageCount = 0;
document.getElementById("kide-counter").textContent = "";
document.getElementById("kide-counter").style.display = "none";
return;
}
})
});
Но странно, при попытке вынести "kide-counter" в переменную:
let kideCounter = document.getElementById('kide-counter');
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) {
kideCounter.textContent = newMessageCount;
kideCounter.style.display = "block";
return;
}
if (kide.order == "bottom")
kide.attr("KIDE_msgs", "scrollTop", kide.attr("KIDE_msgs", "scrollHeight"));
else kide.attr("KIDE_msgs", "scrollTop", 0);
};
document.addEventListener("DOMContentLoaded", function () {
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) {
newMessageCount = 0;
kideCounter.textContent = "";
kideCounter.style.display = "none";
return;
}
})
});
В принципе без разницы, но очень интересно почему )