169 похожих чатов

Подскажите плиз почему класс накидываеться на кнопку после еще

одного нажатия на кнопку . даже если скролл уже дошел к концу?
https://codepen.io/gihhh/pen/BadQjga

14 ответов

13 просмотров

потому что в момент вы проверяете checkIfScrollToEnd, скролл ещё не завершён... console.log(container.scrollWidth - container.scrollLeft == container.offsetWidth) - вот видно если посмотреть на эти данные вам нужно дождаться когда закончится container.scrollBy и вызвать колбек

вам нужно делать проверку с учётом того, что именно этот клик дойдёт до конца, то есть думать на один шаг раньше

Сергій-Демчишин Автор вопроса

пробую коллбэк. как об стенку пока)

Сергій Демчишин
пробую коллбэк. как об стенку пока)

вам не нужен колбек, просто проверяйте конец скрола до момента скрола а не после, с учётом величины прокрутки, как я и писал выше

Сергій-Демчишин Автор вопроса
Сергей Дёмин
вам не нужен колбек, просто проверяйте конец скрол...

нашел еще такой варик. container.addEventListener("scroll", function () { засунул в функцию проверки скролла. листенер который после скролла проверяет . прокручено ли до конца

Сергій Демчишин
нашел еще такой варик. container.addEventListener(...

ну это усложнение кода, у вас в основе простая математика и она часто где встречается

Сергій-Демчишин Автор вопроса
Сергей Дёмин
ну это усложнение кода, у вас в основе простая мат...

как проще можно проверять . после скролла это?

А зачем вам после скролла? Сморите у вас текущий скрол 800, а весь 1000. Шаг у вас не меняется и составляет 300. Вы уже понимаете что если нажать на кнопку значение будет 1100, а это больше 1000... значит скрол дошёл до конца и можно скрывать кнопку. Всё определение можете повесить не на одну функцию, а внутри ивентов клика.

Сергій-Демчишин Автор вопроса
Сергей Дёмин
А зачем вам после скролла? Сморите у вас текущий ...

если в консоле выводить сколько скролиит. первый скролл оно не засчитывает. я все-ровно не понимаю.

Сергій Демчишин
если в консоле выводить сколько скролиит. первый с...

if (currentScroll + scrollValue >= allScrollPath) - дошло до конца if (currentScroll - scrollValue <= 0) - дошло до начала при каждом клике на кнопку делается сразу эта проверка, а потом скрол

Сергій Демчишин
если в консоле выводить сколько скролиит. первый с...

можете подготовить код, я вам скину уже готовый вариант

Сергій Демчишин
https://codepen.io/gihhh/pen/wvqozgO

Код не оптимизировал, чтобы было понятно что происходит

Сергій Демчишин
https://codepen.io/gihhh/pen/wvqozgO

вставьте этот код в кодепен и проверьте

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта