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

本文介绍了一个使用jQuery实现的可控无限滚动加载技术。该技术能够根据用户的滚动位置动态加载新的段落内容,同时限制了加载的最大数量。通过检测用户是否滚动到页面底部来触发数据加载,实现了流畅的用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<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>';

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值