jQuery滚屏加载_Ajax滚屏加载

jQuery滚屏加载_Ajax滚屏加载

我们经常会看到拉动滚动条时到页底时,页面会继续加载更多内容。这种技术我暂且称它为jQuery+Ajax无刷新滚屏加载技术。我们发现图片搜索、新浪微博、QQ空间等将该技术应用得淋漓尽致。

淘建站为您提供更多_其它特效_Ajax_ajax_加载,在此特别感谢您对我们的支持与厚爱!

查看演示

演示不了,点击反馈

加入收藏

下载 104 次

下载资源

24 淘币

特别说明:本站资源来自网友发布分享,仅供学习与参考,请勿用于商业用途,若有侵权请联系删除(272966172@qq.com)。
分类:其它特效 > Ajax 难易程度:中级

HTML

<div class="demo">
  <h2 class="tip">提示:使用滚动或拉动滚动条向下看。</h2>
  <div id="lists"></div> 
  <div class="nodata"></div>
</div>

jQuery

2、然后,当滚动页面的时候需要做的事情是:计算页面总高度(当滚动底部时,页面新加载数据,所以页面总高度是动态变化的),计算滚动条位置(滚动条位置也是随着加载页面的高度动态变化的),然后构造一个公式,计算相对比例。

var totalpage = 6; //总页数,防止超过总页数继续滚动
var winH = $(window).height(); //页面可视区域高度 
$(window).scroll(function() {
    if (i < totalpage) { // 当滚动的页数小于总页数的时候,继续加载
        var pageH = $(document.body).height();
        var scrollT = $(window).scrollTop(); //滚动条top 
        var rate = (pageH - winH - scrollT) / winH;
        if (rate < 0.01) {
            getJson(i)
        }
    } else { //否则显示无数据
        showEmpty();
    }
});
getJson(0); //加载第一页

3、当滚动条接近页底时,触发ajax加载。getJson 代码如下:

function getJson(page) {
    $(".nodata").show().html("<img src='http://www.sucaiq.com/Public/images/loading.gif'/>");
    $.getJSON("ajax.php", { page: i}, function(json) {
        if (json) {
            var str = "";
            $.each(json,
            function(index, array) {
                var str = "<div class='per'>";
                var str = str + "<div class='title'>" + array['id'] + "、" + array['title'] + "</div></div>";
                $("#lists").append(str);
            });
            $(".nodata").hide()
        } else {
            showEmpty(); //数据为空的时候
        }
    });
    i++;
}
function showEmpty() {
    $(".nodata").show().html("别滚动了,已经到底了。。。");
}

4、当滚动到页面底部时,前端请求到ajax.php

$page = intval($_GET['page']);  //获取请求的页数 

$pagenum = 12; //每页数量
$start = ($page - 1) * $pagenum;
$query = mysql_query("SELECT * FROM food ORDER BY id ASC LIMIT $start," . $pagenum . "");
$arr = array();
while ($row = mysql_fetch_array($query)) {
    $arr[] = array(
        'id' => $row['id'],
        'title' => $row['title']
    );
}
if ($arr) {
    echo json_encode($arr);  //转换为json数据输出 
}

另外下载压缩包里有jQuery滚屏加载需要的表 “food.sql”,有兴趣的朋友可以在本地试试。我已经测试过了,没有数据重复。

声明:本资料由淘建站会员提供,如转载注明来源,资料来源淘建站免费素材库:https://www.taojz.cn/texiao/9.html
jQuery滚屏加载_Ajax滚屏加载 希望对你有帮助,感谢您的支持!
  • 原生JS瀑布流布局,无限加载

    原生JS瀑布流布局,无限加载

  • js简单瀑布流图片无限加载带鼠标悬停图片遮罩效果

    js简单瀑布流图片无限加载带鼠标悬停图片遮罩效果

  • 可以无限加载的响应式瀑布流

    可以无限加载的响应式瀑布流

  • html5网格图片瀑布流布局加载动画特效

    html5网格图片瀑布流布局加载动画特效

  • 原生js简单瀑布流图片无限加载带鼠标悬停图片遮罩效果

    原生js简单瀑布流图片无限加载带鼠标悬停图片遮罩效果

  • jQuery css3响应式瀑布流图片无限加载代码

    jQuery css3响应式瀑布流图片无限加载代码

  • jquery美女无限加载瀑布流效果

    jquery美女无限加载瀑布流效果

  • html5手机瀑布流图片加载效果

    html5手机瀑布流图片加载效果

  • html5 css3打造自适应屏幕自动加载瀑布流

    html5 css3打造自适应屏幕自动加载瀑布流

  • jquery带分享功能的无限滚动瀑布流图片布局展示含php源码

    jquery带分享功能的无限滚动瀑布流图片布局展示含php源码

  • jquery图片自滚动瀑布流效果

    jquery图片自滚动瀑布流效果

  • jquery仿堆糖网瀑布流布局单排图片自动滚动

    jquery仿堆糖网瀑布流布局单排图片自动滚动

  • 留言(0)
    头像
     阿里云限量代金券,戳我领取
    1 2