Ajax无限滚动;工作不正常

Ajax infinite scroll doesn't work properly

本文关键字:工作 不正常 滚动 无限 Ajax      更新时间:2023-09-26



我试图将Ajax无限滚动应用于一个实例,只要我向下滚动到该实例中,该实例就会加载结果。问题是,当我滚动时,它会加载结果,但不会在框底部加载,而是会在打开页面时显示的1°结果下加载我的结果es。(用于澄清(
示例1
示例2->当我滚动时,它会从那里加载结果
示例3

这是代码

    <script type="text/javascript" src="js/jquery-ias.min.js"></script>
            <script type="text/javascript">
   $(document).ready(function() {
    // Infinite Ajax Scroll configuration
    var ias = $('.item').ias({
      container : '.item', // main container where data goes to append<
     item: '#testami', // single items
     pagination: '.nav2', // page navigation
     next: '.nav2 a', // next page selector
     delay: 500 // show load more if scroll more than this
   });
        ias.extension(new IASSpinnerExtension({
   html: '<div class="ias-spinner" style="text-align: center;"><img src="css/ajax-loader.gif"/></div>', // optionally
                }));
  });
</script>

            <div class="item" style="overflow-y:scroll">
                                     <?php
                                            $limit = 10;
                                             $page = (int) (!isset($_GET['p'])) ? 1 : $_GET['p'];
                                             $sel_badge1="select * from cms_news ";
                                             $start = ($page * $limit) - $limit;
                                             if( mysqli_num_rows(mysqli_query($link,$sel_badge1)) > ($page * $limit) ){
                                                            $next = ++$page;
                                                    }
                                                    $query = mysqli_query($link,$sel_badge1 . " ORDER BY id DESC LIMIT {$start}, {$limit} ")or die(mysqli_error($link));
                                                    if (mysqli_num_rows($query) < 1) {
                                                            header('HTTP/1.0 404 Not Found');
                                                            echo 'Page not found!';
                                                            exit();
                                                    }
                                    while($row2=mysqli_fetch_array($query))
                                    {
                            ?>     
                               <div id="testami"><p><a href="news.php?id=<?php echo $row2['id']; ?>"><?php echo $row2['title']; ?></a></p></div>
                <?php } ?>
                            <?php if (isset($next)): ?>
                            <div class="nav2">
                                    <a href='news.php?p=<?php echo $next?>'>Next</a>
                            </div>
                            <?php endif?>
            </div>

在循环中,将id="testami"更改为class="testami",在对.ias()的调用中,将项目选择器从item: '#testami'更改为item: '.testami'

说明:

Id应该是唯一的。但是您正在循环中创建多个具有相同id的元素。当找到多个具有相同id的项目时,默认行为是只返回第一个。这就是为什么在第一个元素之后插入新元素的原因。参考