登录 立即注册

首页 > 绿虎论坛 > 电脑 > 讨论/求助 (发帖)

标题: 万能虎友,这该怎么解决啊

作者: @Ta

时间: 2023-05-08发布,2023-05-08修改

点击: 10796

<div id="load-more-container">
  {if $maxPage > 1}
    <button id="load-more-btn" data-page="{$p+1}" data-max-page="{$maxPage}">加载更多</button>
  {/if}
</div>
<script>
document.getElementById('load-more-btn').addEventListener('click', function() {
  var page = this.getAttribute('data-page');
  var maxPage = this.getAttribute('data-max-page');
  if (page <= maxPage) {
    var xhr = new XMLHttpRequest();
 xhr.open('GET', '/q.php/bbs.{$pid}.{$tid}.' + parseInt(page) + '.json', true);
xhr.onload = function() {
// 解析 JSON 数据
var jsonData = JSON.parse(xhr.responseText);

// 获取 tContents 数组
var comments = jsonData.tContents;

// 遍历数组并生成 HTML 内容
var commentsHtml = '';
for (var i = 0; i < comments.length; i++) {
  var comment = comments[i];
  commentsHtml += '<div class="comment">' +
    '<div class="comment-header">' +
    '<div class="comment-author">' + comment.uinfo.name + '</div>' +
    '<div class="comment-date">' + comment.ctime + '</div>' +
    '</div>' +
    '<div class="comment-body">' + comment.content + '</div>' +
    '</div>';
}
 // 将 HTML 内容插入到指定的 div 中
document.getElementById('myDiv').insertAdjacentHTML('beforeend', commentsHtml);
      document.getElementById('load-more-btn').setAttribute('data-page', parseInt(page) + 1);
    };
    xhr.send();
  } else {
    this.disabled = true;
  }
});
</script>
<div id="myDiv"></div>

解决了将更新后的页码传递给 xhr.open('GET', '/q.php/bbs.{$pid}.{$tid}.' + parseInt(page) + '.json', true);就可以了@老虎会游泳

[隐藏样式|查看源码]


『回复列表(7|显示机器人聊天)』

1. @老虎会游泳
(/@Ta/2023-05-08 17:35//)

2.

@兲蛋,在浏览器中查看源代码,观察js代码中的数值,就能发现原因。

(/@Ta/2023-05-08 17:43//)

3.

@兲蛋,使用F12审查元素功能查看html中的数值。

(/@Ta/2023-05-08 17:44//)

4. @兲蛋,你弄一个示例的页面
(/@Ta/2023-05-08 17:48//)

5. @老虎会游泳,点击获取更多后没有更新页码,还是使用的当前页面页码进行+1,
(/@Ta/2023-05-08 18:16//)

6.

@兲蛋,所以这说明了什么呢,是哪里有问题呢

(/@Ta/2023-05-08 19:11//)

7.

用JQ多方便

(/@Ta/2023-05-09 10:24//)

回复需要登录

11月23日 14:51 星期六

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1