jquery - 仅当有要加载的内容时才加载更多按钮

标签 jquery ajax load

我目前正在使用在 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 个项目,当您单击“加载更多”时,它会触发 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 } ?>

关于jquery - 仅当有要加载的内容时才加载更多按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8102030/

相关文章:

PHP eval 与 AJAX 一起使用时生成 500 错误?

javascript - 带有 XHR 对象的 GET 请求,未找到 URI 组件名称

load - jmeter 用户帐户与线程

javascript - 使用 jQuery .load 函数刷新元素而不重复它

php - 动态表单(切换实体)symfony2

javascript - 展开动态树中节点的父节点

linux - 如何计算 GPU 负载

c# - 加载其他语言的资源

jquery - 父 CSS (jQuery)

javascript - 如何避免 jQuery 的按键延迟?