1

我在 codeigniter 中有一个控制器,它加载如下帖子:

public function loadpost($pg, $count = 2) {
    $offset = ($pg - 1)*$count;

    $this->load->model('posts');
    $posts = $this->posts->fetch_post($offset,$count);
    foreach ($posts as $post_item) {
        $data['post_item'] = $post_item;
        $t = $post_item['timestamp'];
        $telap = $this->time_elapsed($t);
        $data['time'] = $telap;
        $this->load->view('posts', $data);
    }
}

“查看”帖子是这样的,它使用转发的数据并将它们显示为

<script type="text/javascript" src="<?php echo base_url(); ?>scripts/infiscroll.js"></script>
<div id="jscroll-container" class="jscroll">
<div class="row">Lots of content lines</div>
<div>

文件 infiscroll.js 对 jscroll 函数进行了简单的调用,例如:

$(document).ready(function () {
$('.jscroll').jscroll();
});

因此,当我继续滚动时,它会一次又一次地加载相同的内容(这是我所期望的,因为我没有更改值)。但是我想弄清楚的是我可以在哪里调用带有更新值的 loadpost() 函数,以便滚动导致加载新的帖子值。我找不到任何有关如何设计调用 jscroll 的视图文件的文档。因此,我期待这个社区提供有关如何启动的指导,因为我对 jscroll 完全陌生,并且不知道如何使用它。

4

1 回答 1

2

有一个名为“nextSelector”的参数。我将 infiscroll.js 文件更改为:

$('.jscroll').jscroll({
    nextSelector: 'a.next-selector:last'
});

并在视图文件的末尾添加了一个锚标记:

<script type="text/javascript" src="<?php echo base_url(); ?>scripts/infiscroll.js"></script>
<div id="jscroll-container" class="jscroll">
<div class="row">Lots of content lines</div>
<a href="<?php $pg++; echo base_url('index.php/home/loadpost/'.$pg) ?>" class='next-selector'></a>
<div>

$pg 是控制器中函数所需的更新变量。我应该早点读到这个特性,但是文档出人意料地提到了这个作为一个底色。希望这可以帮助与我有类似情况的任何人。

于 2015-10-29T20:24:25.910 回答