【发布时间】:2011-11-12 02:11:19
【问题描述】:
我目前正在使用我在 hycus.com 上找到的脚本在我的页面上创建更多点击功能。当您单击加载更多按钮时,它会从服务器获取数据并使用 ajax 显示它。它工作正常,但我遇到的问题是:即使没有要显示的数据,加载更多按钮仍然会显示。
我希望加载更多按钮仅在有数据显示时显示,在没有数据显示时消失。
索引页面: jQuery
<script type="text/javascript">
$(document).ready(function(){
$("#loadmorebutton").click(function (){
$('#loadmorebutton').html('<img src="ajax-loader.gif" />');
$.ajax({
url: "loadmore.php?lastid=" + $(".postitem:last").attr("id"),
success: function(html){
if(html){
$("#postswrapper").append(html);
$('#loadmorebutton').html('Load More');
}else{
$('#loadmorebutton').replaceWith('<center>No more posts to show.</center>');
}
}
});
});
});
</script>
HTML:
<div id="wrapper">
<div id="postswrapper">
<?php
$getlist = mysql_query("SELECT * FROM table_name LIMIT 25");
while ($gl = mysql_fetch_array($getlist)) { ?>
<div class=postitem id="<? echo $gl['id']; ?>"><?php echo $gl['title']; ?></div>
<?php } ?>
</div>
<button id="loadmorebutton">Load More</button>
</div>
</div>
loadmore.php 页面有;
<?php
$getlist = mysql_query("SELECT * FROM table_name WHERE id < '".addslashes($_GET['lastid'])."'
LIMIT 0, 25 LIMIT 10");
while ($gl = mysql_fetch_array($getlist)) { ?>
<div><?php echo $gl['title']; ?></div>
<?php } ?>
基本上这个脚本的作用是,索引页面会从数据库中加载前25个项目,当你点击load more时,它会触发loadmore.php,它会从最后一个id开始再加载10个数据已经加载了。我想要做的是...如果数据库中的项目少于 25 个,则从屏幕上删除 Load more,并显示数据库中的项目是否超过 25 个。
【问题讨论】:
-
只是一个普通的
- item one
- item two
一种结构