当你滚动到底部时添加新信息的JavaScript函数,没有像我预期的那样工作

JavaScript function of add new information when you scroll to the bottom, didnt work as i expected

本文关键字:工作 函数 JavaScript 添加 底部 新信息 当你 信息 滚动      更新时间:2023-09-26

我用JavaScript写了一个脚本,当我滚动到页面的底部(- 200px)时,它会为我添加更多的AJAX信息。

我的问题是,当我在区域的底部-200px,它调用ajax很多次,但我需要它会调用ajax函数只有1次,每次你在这个区域(我希望你理解我)。

(每次我到达底部,我需要它调用ajax函数!)

我该如何解决这个问题?

没关系,我解决这个问题!


这是完整的源代码:

<script>
window.onscroll = scrollPage;
document.write("<div id='sizeOfPage'></div><div id='sizeOfWindow' style='position:fixed; bottom:0px;'></div>");
function scrollPage() {
    sizeOfPage = document.getElementById('sizeOfPage').offsetTop;
    sizeOfWindow = document.getElementById('sizeOfWindow').offsetTop;
    scrollPosition = window.pageYOffset+sizeOfWindow;
    if (scrollPosition >= sizeOfPage-200) {
        ajax('refPosts.php', '1', true, 'posts');
    }
}
</script>
<script>
var reEnteredBottom = false;
window.onscroll = scrollPage;
document.write("<div id='sizeOfPage'></div><div id='sizeOfWindow' style='position:fixed; bottom:0px;'></div>");
function scrollPage() {
    sizeOfPage = document.getElementById('sizeOfPage').offsetTop;
    sizeOfWindow = document.getElementById('sizeOfWindow').offsetTop;
    scrollPosition = window.pageYOffset+sizeOfWindow;
    if (scrollPosition >= sizeOfPage-200 && !reEnteredBottom) {
        reEnteredBottom = true;
        ajax('refPosts.php', '1', true, 'posts');
    } else if(scrollPosition < sizeOfPage - 200) reEnteredBottom = false;
}
</script>

只需引入一个新变量来跟踪您是否离开了底部部分,并且仅在您离开并重新进入时执行AJAX代码,而不是在正常滚动

时执行。