Конец страницы скролл
Мне необходимо вызвать событие когда пользователь докрутит страницу до самого низа, как определить что пользователь достиг конца документа?
На чистом JS необходимо! |
|
onscroll = function(){
if(window.scrollY+1 >= document.documentElement.scrollHeight-document.documentElement.clientHeight) alert('Конец прокрутки');
};
|
j0hnik,
:) а если DOCTYPE забудут или window.scrollY меньше scrollМах или ie ? |
onscroll = function(){
var scrollHeight = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
if(window.scrollY+1 >= scrollHeight - innerHeight) alert('Конец прокрутки');
};
рони, |
j0hnik,
сделай макет, открой в браузере, снизу открой консоль, проверь работу скрипта. |
Цитата:
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body style="height: 3000px">
<script>
onscroll = function(){
var scrollHeight = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
if(window.scrollY >= scrollHeight - innerHeight) alert('Конец прокрутки');
};
</script>
</body>
</html>
таки работает, в каком браузере у вас проблемы? |
Цитата:
|
странно, у меня все ровно тоже во всех.
давайте разбираться друг мой )) какая версия ОС и версии браузеров? с кодом выше что нибудь делали? |
j0hnik,
Windows 10 версия 1803, браузеры последние версии, пост №7, алерта нет в конце прокрутки. напишите, если не трудно, у кого-то ещё работает это? |
:cray:
Народ хелп! |
j0hnik,
в Edge работает, Firefox 61, Google Chrome 67, ie 11 - не работает |
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body style="height: 3000px">
<script>
onscroll = function(){
var scrollHeight = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
console.log(window.scrollY - scrollHeight + innerHeight) ;
};
</script>
</body>
</html>
рони, какая цифра последняя? |
j0hnik,
-0.39990234375 |
рони,
Кажись понял в чем проблема Либо из за масштаба страницы или разрешения экрана. У меня только так дробные появляются. |
Цитата:
Цитата:
if(window.scrollY + 5 >= scrollHeight - innerHeight) |
рони,
Не любите вы мелкий текст, у вас масштаб 125% =) угадал? |
j0hnik,
я люблю кроссбраузерный код! :) |
Цитата:
|
рони,
я ошибся 250% машстаб у вас :blink: |
поправил посты на всякий случай
|
Цитата:
|
Здравствуйте!
Подскажите пожалуйста, почему alert срабатывает тогда, когда ползунок вверху? Как сделать, чтоб было наоборот?
$(window).scroll(function()
{
if ($(window).scrollTop() <= $(document).height() - $(window).height())
{
alert('Пользователь долистал до низа страницы');
}
});
|
if ($(window).scrollTop() >= $(document).height() - $(window).height())
|
Цитата:
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
body{
height: 3000px;
}
</style>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
<script>
$(window).scroll(function() {
if ($(window).scrollTop() >= $(document).height() - $(window).height())
{
alert('Пользователь долистал до низа страницы');
}
});
</script>
</body>
</html>
в каком браузере? |
или нужно чтобы раз сработал, а повторно при прокрутке до низа не срабатывал?
|
Цитата:
|
DDim1000,
26 пост у вас правильно работает? |
Цитата:
https://youtu.be/BnM6D-gHlao |
DDim1000,
если сам пост правильно, дело в чем то другом |
Цитата:
|
Цитата:
|
сайт напишите, гляну
|
Цитата:
|
| Часовой пояс GMT +3, время: 09:40. |