如何在滚动时加载更多数据

时间:2015-01-27 10:51:04

标签: javascript php jquery apache codeigniter

我有一个像这样的容器:

<div class="row row-sm padder-lg ">
<div class="col-xs-6 col-sm-4 col-md-3 col-lg-2">
...
</div></div>

内容是在php页面上通过此循环生成的:

       <?php 
        foreach ($top->feed->entry as $key => $value) 
        {
            $value->title->label = str_ireplace( "- ".$value->artist->label, "",  $value->title->label);
            if($key >= $this->config->item("items_top"))
                return false;
            $image = $value->image[2]->label;
            if($image == '')
                $image = base_url()."assets/images/no-cover.png";
            $image = str_ireplace("170x170", "200x200", $image);
        ?>

&#34; items_top&#34;是最大数组的数量。要显示的图像,如何在滚动时更多地加载? 因此,当用户在页面底部滚动时会自动加载新内容

更新

好的我需要使用Ajax但该怎么办?在我的php中使用这段代码是否正确?

    <script>
        $(document).scroll(function(e){
            // grab the scroll amount and the window height
            var scrollAmount = $(window).scrollTop();
            var documentHeight = $(document).height();
            // calculate the percentage the user has scrolled down the page
            var scrollPercent = (scrollAmount / documentHeight) * 100;
            if(scrollPercent > 50) {
                // run a function called doSomething
               doSomething();
            }
            function doSomething() {
                // do something when a user gets 50% of the way down my page
            }
        });
</script>   

1 个答案:

答案 0 :(得分:2)

简短的回答:你不能,至少不是PHP。

由于在将页面提供给客户端之前在服务器端处理PHP,因此在收到页面后无法使用PHP编辑页面。这是JavaScript或AJAX的工作。

如果您将PHP脚本移动到您在网站中包含的单独页面(最好只有php),您可以进行AJAX调用,在用户滚动后用脚本返回的内容替换部分HTML代码

此链接可能会帮助您: Loading DIV content via ajax as HTML