本站停止维护,已转移至laravel学习网;欢迎大家移步访问!

基于JQuery实现滚动到页面底端时自动加载更多信息,防止多次提交

这篇文章主要介绍了基于JQuery实现滚动到页面底端时自动加载更多信息,类似微博,新浪新闻的评论等,都采用了这方法,需要的朋友可以参考下

关键代码:

 代码如下:

var stop=true; 
$(window).scroll(function(){ 
    totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop()); 
    if($(document).height() <= totalheight){ 
        if(stop==true){ 
            stop=false; 
            $.post("ajax.php", {start:1, n:50},function(txt){ 
                $("#Loading").before(txt); 
                stop=true; 
            },"text"); 
        } 
    } 
});

 同时你也可以get提交

var stop=true; 
$(window).scroll(function(){ 
    totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop()); 
    if($(document).height() <= totalheight){ 
        if(stop==true){ 
            stop=false; 
            $.getJSON("ajax.php", {start:1, n:50},function(txt){ 
                
                stop=true; 
            }); 
        } 
    } 
});

HTML:

 

 代码如下:

<div id="Loading">Loading...</div>

 

 

实现方法是比较页面总高度和下滚高度以判断是否到达底端,若到达底端则通过ajax读取更多的内容,用before插入到Loading之前。

stop参数是考虑到ajax读取耗时,防止在一次ajax读取过程中多次触发事件,造成多次加载内容。


转载请注明 :一沙网络原文出处:http://bbs.earnp.com/article/38
问题交流群 :562864481
0
打赏
发布时间 :2016-08-09 14:46:10
分享

0 个评论

    还没有评论,感觉来抢沙发吧!

要回复文章请先登录注册