0

我有一个在 codeigniter 上运行的项目,我正在使用 jscroll 进行无限滚动。我正在使用一个名为 rotator.js 的 js 文件来对每个帖子发表评论。当我的家庭控制器运行索引函数时,它在调用帖子视图的同一控制器中调用 loadpost() 函数。家庭控制器如下

$count = 2;     
$pg = 1;

    $this->load->view('header');
    $this->load->view('nav', $data);
    $this->load->view('login', $data);

    $this->loadpost($pg,$count);
    $this->load->view('footer');

loadpost() 函数接受参数 $pg-> 页码和 $count-> 每页的帖子数。函数调用 posts.php 视图,该视图显示它返回的每个帖子在另一个下方,并且 posts.php 视图的末尾具有 jscroll 使用的锚链接,如下所示

<div class='pager'>     
    <a href="<?php $pg++;
                echo base_url('index.php/home/loadpost/' . $pg) ?>" class='next-selector'></a>      
</div>

每个帖子都有多个评论,这些评论一一显示,并由 rotate.js 文件管理,该文件具有以下代码

(function($){
$.fn.extend({ 
    rotaterator: function(options) {

        var defaults = {
            fadeSpeed: 500,
            pauseSpeed: 500,
            child:null
        };

        var options = $.extend(defaults, options);

        return this.each(function() {
              var o =options;
              var obj = $(this);                
              var items = $(obj.children(), obj);
              items.each(function() {$(this).hide();})
              if(!o.child){var next = $(obj).children(':first');
              }else{var next = o.child;
              }


              $(next).fadeIn(o.fadeSpeed, function() {
                        $(next).delay(o.pauseSpeed).fadeOut(o.fadeSpeed, function() {
                            var next = $(this).next();
                            if (next.length == 0){
                                    next = $(obj).children(':first');
                            }
                            $(obj).rotaterator({child : next, fadeSpeed : o.fadeSpeed, pauseSpeed : o.pauseSpeed});
                        })
                    });
            });
        }
    });
})(jQuery);

 $(document).ready(function() {
        $('.rotate').rotaterator({fadeSpeed:500, pauseSpeed:2000});
 });

现在,如果我在标题中包含 rotate.js 文件,则评论根本无法从第二页帖子开始(在本例中为第三个帖子开始)以及当我在帖子中放置相同的脚本时闪烁。 php view 它在每次页面加载时都会被调用多次,因此在之前的帖子中会有一个不稳定的行为,例如,如果我加载三个页面,前两个页面会多次调用该函数并显示不想要的结果(闪烁速度更快并显示多个一次评论),而第三页帖子中的评论正确闪烁。

我在这里做错了什么。如果页面在视图中放置 thcript 时多次调用脚本,那么为什么从标题调用脚本时它不能使用脚本。任何帮助,将不胜感激。

4

0 回答 0