[英]Jquery hide/show load more button
我有一个脚本,请参见下文:
索引页: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个项目,我想做的是从屏幕上删除“加载更多”按钮,并显示数据库中是否有25个以上项目。
这将为您工作:
<?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 }
if(mysql_num_rows($getlist) <= 25) { ?>
<script type="text/javascript">
$(function(){
$('#loadmorebutton').hide();
});
</script>
<?php } ?>
<div id="wrapper">
<div id="postswrapper">
<?php
$getlist = mysql_query("SELECT * FROM table_name LIMIT 25");
**$cnt = 0;**
while ($gl = mysql_fetch_array($getlist)) { ?>
<div class=postitem id="<? echo $gl['id']; ?>"><?php echo $gl['title']; ?></div>
**$cnt++;**
<?php } ?>
</div>
**<?php if ($cnt == 24) { ?>
<button id="loadmorebutton">Load More</button>
<?php } ?>**
</div>
</div>
将您的php脚本更改为带有coount变量
<div id="wrapper">
<div id="postswrapper">
<?php
$count=0;
$getlist = mysql_query("SELECT * FROM table_name LIMIT 25");
while ($gl = mysql_fetch_array($getlist)) {
$count++;?>
<div class=postitem id="<? echo $gl['id']; ?>"><?php echo $gl['title']; ?></div>
<?php } ?>
</div>
<button id="loadmorebutton" value="<? echo $count ?>">Load More</button>
</div>
</div>
<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);
var count = patserInt($('#loadmorebutton').val());
if(count<25){
$('#loadmorebutton').html('Load More');
}else {
$('#loadmorebutton').hide();
}else{
$('#loadmorebutton').replaceWith('<center>No more posts to show.</center>');
}
}
});
});
});
</script>
我会给您两个选择,以您较易理解的为准。
<?php if(25 or more){ ?>
<button id="loadmorebutton">Load More</button>
<?php } ?>
<?php if(25 or more): ?>
<button id="loadmorebutton">Load More</button>
<?php endif; ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.