如何解决错误无限滚动Javascript,向上滚动时不加载?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (104)

以下是我使用的代码:

 var busy = false;
  var limit = 6;
  var offset = 0;
  function displayRecords(lim, off) {
    $.ajax({
      type: "GET",
      async: false,
      url: "load/article-2.php",
      data: "limit=" + lim + "&offset=" + off,
      cache: false,
      beforeSend: function() {
        $("#loader_message").html("").hide();
        $('#loader_image').show();
      },
      success: function(html) {
        $("#results").append(html);
        $('#loader_image').hide();
        if (html == 0) {
          $("#loader_message").html('<br><span class="margintop20 padding10">No more records.</span>').show()
        } else {
          $("#loader_message").html('<br><span class="margintop20"><img src="file-server/loading.gif" width="24" height="24"> Loading please wait...</span>').show();
        }
        window.busy = false;
      }
    });
  }

  $(document).ready(function() {
    if (busy == false) {
      busy = true;
      displayRecords(limit, offset);
    }
    $(window).scroll(function() {
      if ($(window).scrollTop() + $(window).height() > $("#results").height() && !busy) {
        busy = true;
        offset = limit + offset;
        setTimeout(function() { displayRecords(limit, offset); }, 500);
      }
    });
  });

PHP CODE

$limit = (intval($_GET['limit']) != 0 ) ? $_GET['limit'] : 4; $offset = (intval($_GET['offset']) != 0 ) ? $_GET['offset'] : 0;
$article = "SELECT SQL_CALC_FOUND_ROWS * FROM article WHERE 1 AND status ='publish' ORDER BY id  DESC LIMIT $limit OFFSET $offset";
 try {
  $article1 = $pdo-> prepare($article); 
  $article1 ->execute();
  $results = $article1->fetchAll();
} catch (Exception $ex) {
  echo $ex->getMessage();
}if (count($results) > 0) {
foreach ($results as $data) {
include("../data/data.php");
echo "
    <div class='col-md-2 padding5 aos-item' data-aos='fade-up'>
      <div class='col-md-12 bgputih shadow padding10 hover-dark'>
      <a href='blog/$url' title='$stitle'> <img class='w-100 img-fluid' src='$fileserver/article/$dateimage/$imagem' alt='$stitle'> </a>
      <hr>
      <div class='titlearticle'>
        <a href='blog/$url' title='$stitle'>$title</a>
      </div>
      <div class='font10'>
      "; 
      include("../includes/bawah/sumber.php");
      include("../includes/bawah/article.php");
      echo"
    </div>
    </div>
    </div>
    ";
}
}

HTML CODE

<div class='padding10 margintop-10 row' id="results"></div>
<div id="loader_image"><img src="<?php echo "$fileserver/loading.gif"; ?>" width="24" height="24"> Loading... please wait</div>
<div class="col-md-12" align="center" id="loader_message"></div>
提问于
用户回答回答于

这样试试:

var busy = false;


if (busy == false) {
  busy = true;
  displayRecords(limit, offset);
}

热门问答

腾讯云何时会有域名交易系统?

腾讯云域名与DNS解析团队域名、解析产品经理
推荐

对象存储, 版本控制,没有提供对象的历史版本列表的查询API吗?

serverless db 如何管理?

Richel码农
推荐
1.支持pg_dump,psql工具进行数据导入和导出。 2.本地CLI,可以使用postgresql的客户端psql,也可以使用dbeavr,navicate,pgadmin等工具访问。 3.支持操作DB ,要自己写逻辑 ... 展开详请

安卓APP使用免费版加固后,在Android11系统上运行闪退,是什么原因?

hello,目前已经适配了Android R Beta1,预计这周内上线移动应用安全在线版,请留意日志更新

配置 https 配置完后报错?

女淘日记

杭州吱吱吱科技 · 站长 (已认证)

推荐已采纳

请检查服务器是否安装了代理?如有请尝试移除代理再尝试

另外,curl访问https时候需要确保服务器已经保存了证书,可以通过 curl -k --tlsv1 过滤

mysql安装后修改默认密码问题?

推荐已采纳
您好,可以先配置免密登录数据库,将密码修改后再关闭免密登录即可,下面介绍简要步骤: 1. 获得服务器超级管理员权限,然后先停止mysql服务 2. 修改mysql启动参数文件,文件一般在 /etc/my.cnf (linux)在[mysqld]的段中加上一句:skip-gra...... 展开详请

所属标签

扫码关注云+社区

领取腾讯云代金券