我有一个无限滚动分页脚本,它包含在setInterval()函数中,可每隔x秒追加新数据,两个函数都可以正常工作,但是,每次我开始滚动时,一旦setInterval()刷新div,我都会破坏无限滚动分页,有没有办法防止setInterval()在我滚动时一直运行?

这是我的代码:

$(document).ready(function(){

    $.ajaxSetup({ cache: false });

    setInterval(function(){

        var track_load      = 0;
        var loading         = false;
        var total_groups    = <?php echo $total_groups; ?>;

        $('#live_activity').load("loading_page.php", {'group_no':track_load}, function() {track_load++;});

        $(window).scroll(function() {

            if($(window).scrollTop() + $(window).height() == $(document).height())
            {
                if(track_load <= total_groups && loading==false)
                {
                    loading = true;
                    $('.animation_image').show();

                    $.post('loading_page.php',{'group_no': track_load}, function(data){

                        $("#live_activity").append(data);

                        //hide loading image
                        $('.animation_image').hide();

                        track_load++;
                        loading = false; 

                    }).fail(function(xhr, ajaxOptions, thrownError) {

                        alert(thrownError);
                        $('.animation_image').hide();
                        loading = false;

                    });

                }
            }
        });

    }, 3000);

});

  ask by benjamin translate from so

本文未有回复,本站智能推荐:

1回复

当用户向上滚动时暂停javascriptsetInterval,然后在用户滚动回底部时重新启动setInterval

我一直在为这个问题苦苦挣扎,我有一个聊天框,它使用 ajax 请求向数据库发送消息。 当发送新消息时,它会滚动到 div 的底部。 然后我使用 jquery 加载函数在 setInterval 函数上从数据库中获取消息。 这一切都按预期工作,但是如果用户想要向上滚动以查看过去的消息怎么办? 当前它不
1回复

触摸滚动时未执行setInterval方法

我已经使用setInterval方法动态更新了图表。 当我运行示例时,它正在工作,但是在使用触摸滚动图表时,setInterval方法未触发,这意味着该方法已被搁置..为什么会发生这种情况? 请找到示例链接, http://jsfiddle.net/eNkLz/50/
2回复

iPhone上滚动事件中的SetInterval-为什么此代码不起作用?

请看一下这段代码(我正在使用Zepto http://zeptojs.com/ BTW)... 如您所见,我有一个页脚元素,试图将其固定在iPhone屏幕的底部。 我知道有像iScroll 4 http://cubiq.org/iscroll-4这样的库可以帮助我们轻松实现这一点,但是我试
3回复

如何在mouseleave时停止mouseenter触发的setInterval?

我已经成功地得到它在滚动一个div的溢出箭头mouseenter工作。 问题在于该脚本不仅不会在mouseleave停止,而且会阻止手动滚动div的另一侧。 JS 和箭头 我的想法是, scroll_right功能大干快上发射mouseenter和timer它里面,大干快上禁用mo
1回复

在beforeSendajax上暂停setinterval的正确方法

我有这个代码。 这是在ajax请求上暂停onSend上的setInterval然后在ajax请求完成后恢复setInterval的正确方法吗? 我不确定我是否满足了对此执行的期望。 您的想法将受到高度赞赏和奖励。 谢谢!
1回复

setInterval()导致我的页面滞后

我需要继续检查文档的滚动位置。 我的代码当前为: 这使我的网页很慢。 是否有其他方法可以使用较少的资源来检查用户的滚动位置?
1回复

setInterval不会第一次触发

有两个计时器,tim_change每5秒更改一次幻灯片,即创建一个.. tim_scroll,将幻灯片以35 x 20毫秒的间隔滚动。 现在的问题是,第一次调用changeSlide()时,幻灯片无法滚动。 好像tim_scroll第一次不起作用。 但是在那之后工作。 最终,幻灯片会在
3回复

Javascript垂直滚动功能

我正在尝试使用JavaScript检测页面上的滚动。 这样,当用户滚动了一定数量的页面时,我可以更改某些元素的类和属性。 这是我的JS函数: 我在页面加载时调用它: 但是,我有这个问题-我需要设置一个很小的间隔,以便调用函数并立即更改类。 但是然后页面冻结,除了JS函数之外的所有东