jquery实现无限滚动之可控滚动

来源:互联网 发布:夏普m2608n网络扫描 编辑:程序博客网 时间:2024/04/28 22:00
<html>
    <head>
        <title>无限滚动之可控滚动</title>
        <style type="text/css">
            body{ font-family: "Trebuchet MS",verdana,arial;}
            #loading{ display:none; font-weight:bold;color:#FF0000;}
            p { padding:10px;}
        </style>
        
    </head>
    <body>
        <div id="container">
            <p>Test Paragraph 1</p>
            <p>Test Paragraph 2</p>
            <p>Test Paragraph 3</p>
            <p>Test Paragraph 4</p>
            <p>Test Paragraph 5</p>
            <p>Test Paragraph 6</p>
            <p>Test Paragraph 7</p>
            <p>Test Paragraph 8</p>
            <p>Test Paragraph 9</p>
            <p>Test Paragraph 10</p>
            <p>Test Paragraph 11</p>
            <p>Test Paragraph 12</p>
            <p>Test Paragraph 13</p>
            <p>Test Paragraph 14</p>
            <p>Test Paragraph 15</p>
            <p>Test Paragraph 16</p>
            <p>Test Paragraph 17</p>
            <p>Test Paragraph 18</p>
            <p>Test Paragraph 19</p>
            <p>Test Paragraph 20</p>
        </div>
        <p id="loading">loading data... </p>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">
            $(document).ready(function()
            {
                $(window).scroll(loadData);
            });
            
            var counter = 0;
            function loadData()
            {
                if(counter <= 5)  //控制显示长度
                {
                    if  (isUserAtBottom())
                    {
                        getData();
                    }
                }
            }
            function isUserAtBottom()
            {
                return ((($(document).height() - $(window).height()) - $(window).scrollTop()) <= 50) ? true : false;
            }
            function getData()
            {
                $(window).unbind('scroll');
                $('#loading').show();

                $.get(
                'data.php',
                {},
                function(response)
                {
                    counter++;
                    $('#loading').hide();
                    $('#container').append(response);
                    $(window).scroll(loadData);
                });
            }
        </script>
    </body>

</html>

php代码

<?php

    sleep(2);
    echo '<p>This data has been <br/>loaded from server...</p>';

?>