php動態滾動加載實例


內容涉及:php、分頁、jquery、div+css

實例下載:http://download.csdn.net/detail/roro5119/7373905

index.php

<?
//數據庫配置文件
include("conn.php");
//默認搜索
$page = $_GET["page"] ? $_GET["page"] : 1;
$pagesize = 20;
$pageval = ($page-1)*20;

$sql="select `pic` from `mypic` limit $pageval,$pagesize";
$query = mysql_query($sql);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://files.cnblogs.com/tinyphp/jquery-1.3.2.min.js"></script>
<link rel="stylesheet" href="page.css">
<title>延遲加載</title>
</head>
<style type="text/css">
    .showbox{ width:1000px; margin:0 auto;}
    .showbox img{ padding:5px; background:#CCCCFF;}
    .add-more{ width: 1000px; background: yellow;height: 100px; line-height: 30px; text-align: center; margin: 0 auto; display: none;}
</style>
<body>
<div class="showbox">
<?
    while($row=mysql_fetch_array($query)){
?>
<img src="<?=$row["pic"];?>" alt="" width="200" height="200">
<?
    }
?>
</div>
<!--數據加載提示,默認隱藏-->
<div class="add-more">數據正在加載...</div>
<!--js部分-->
<script type="text/javascript">

    $(function(){
        var downrange    = 100;                //下邊界-參考正在加載提示層/px
        var num = <?=$page;?>;                //初始頁碼
        var maxnum = num+5;                    //設置加載次數
        var $main = $(".showbox");            //主體
        var $loaddiv = $(".add-more")        //加載提示層
        var totalheight = 0;            
        //判斷是否需要異步
        function ifLoad(){
            //滾動條距離頂部距離
            var scrolltotop=parseFloat($(window).scrollTop());
            //窗口高度
            var winheight = parseFloat($(window).height());
            //內容總高度
            var conheight = parseFloat($(document).height())-downrange; 
            //總高度
            totalheight = scrolltotop + winheight;

            //判斷是否加載,當操作高度比內容大,空間充裕->加載
            if(totalheight >= conheight && num!=maxnum){
                ajaxLoad(num);
                num++;
            }

        }



        //ajax-fun
        function ajaxLoad(page){
            $.ajax({
                url:"ajax.php",
                type:"post",
                data:{page:page,maxnum:maxnum},
                success:function(result){
                        //追加數據
                        $main.append(result);
                }
            })
        }

        //加載中隱藏顯示
        $loaddiv.ajaxStart(function(){
             $(this).show();
            }).ajaxStop(function(){
                $(this).hide();
            })



        //scroll-fun
        $(window).scroll(ifLoad);

    })
</script>

</body>
</html>

異步文件:

<?
//數據庫配置文件
include("conn.php");

//每頁顯示信息
$pagesize=20;

//最大加載次數
$maxnum = $_POST["maxnum"]-1;

//從哪里開始
$page=$_POST["page"];
$nextpagestart = $page*$pagesize;



$sql = "select `pic` from `mypic` limit $nextpagestart,$pagesize";
$query =mysql_query($sql);
while($row = mysql_fetch_array($query)){
    //內容
?>
<img src="<?=$row["pic"];?>" alt="" width="200" height="200">
<?
}



//分頁
if($page ==$maxnum){
    include('page.class.php');
    $sqlsum = "select `id` from `mypic`";
    $querysum = mysql_query($sqlsum);

    //數據總數
    $total = mysql_num_rows($querysum);
    //參數對應位置:總記錄,每頁顯示的條數,當前頁,連接的地址
    $my_page=new PageClass($total,$pagesize,$page,'?page={page}');
    //輸出頁碼
    echo $my_page->myde_write();
    exit;
}
?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM