所以我试图暗示从我的 mysql 数据库中的表格中提取无休止的滚动,我拥有它,以便当到达页面底部时,它将要求将新数量的评论拉到新闻提要,但由于某种原因,当它到达底部时,但只显示加载 gif 而没有新的加载。我搞砸的任何帮助都会很棒。谢谢大家
这是我的jquery/ajax:
<script>
//Script to continue the home newsfeed after 10 posts
$(window).scroll(function() {
if($(window).scrollTop() === $(document).height() - $(window).height()) {
$('div#load_more_posts').show();
$.ajax( {
url: "load_more_posts.php?lastPost=" + $(".display_newsfeed:last").attr("id"),
success: function(html) {
if(html) {
$("#outputDiv").append(html);
$('div#load_more_posts').hide();
} else {
$('div#load_more_posts').replaceWith("<center>Finished loading all Posts!</center>")
}
}
});
}
});
</script>
下面是调用新闻源的代码部分:
<div class="outputDiv">
<?php echo "$outputList"; ?><!-- Div for this output has been declared above in PHP before echoing -->
</div> <!-- END outputDiv -->
<div id='load_more_posts' style="display:none">
<center>
<img src="../../images/loading.gif" alt="Loading" />
</center>
</div>
最后,以下是每个评论的新闻源显示(display_newsfeed.php):
$review_query = mysql_query("SELECT * FROM `reviews` ORDER BY `review_date` DESC LIMIT 0,10");
while($review_row = mysql_fetch_assoc($review_query)){
$review_title = $review_row['review_title'];
$user_id = $review_row['user_id'];
$user_firstname = $review_row['user_firstname'];
$user_lastname = $review_row['user_lastname'];
$review_id = $review_row['review_id'];
$review_body = $review_row['review_body'];
$review_referral = $review_row['review_referral'];
$outputList .= '
<div class="display_newsfeed" id="'.$review_id.' display_newsfeed">
This code is each review
</div>
';
您在
display_newsfeed.php 中的 while 循环中缺少一个右括号。 你还在javascript中引用了一个ID为"outputDiv"的div,但该元素不存在(你在HTML中给它分配了一个'outputDiv'的CLASS)。 不确定这些是否只是将代码粘贴在此处的拼写错误,但其中任何一个都绝对可能导致问题。
如果这些都不是问题所在,那么最好的下一步就是确定问题所在。 如果您的浏览器有开发人员控制台(或 firebug),请仔细检查 AJAX 请求是否发出,并查看它是否返回预期的 HTML。 如果是,问题肯定出在客户端代码上(特别是成功回调中的某些内容,除非请求根本没有发出)。 如果不是,则问题肯定出在服务器上的脚本上。