如果上一篇文章,jQuery“加载更多帖子”隐藏按钮

时间:2016-03-29 10:13:07

标签: javascript php jquery wordpress

我正在使用jQuery为Wordpress循环创建“加载更多帖子”效果。 由于循环已经加载了所有帖子并且它们只是出现在jQuery中,所以当我到达最后一个时,我无法隐藏“加载更多”按钮。

$(document).ready(function () {
$(".post").addClass("hide"); 
total = $("#allpost .post").size();
x = 3;

    $('.loadmore').click(function () {
       //y = x;
        $(total);
    $(".post").removeClass("hide");     
        $(".post:gt("+x+")").addClass("hide"); 
     x = x + 1;
    });
});

我的循环

<div id="all-posts">
        <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
        $args= array(
    'posts_per_page' => 100,
    'paged' => $paged
);
query_posts($args); ?> <!-- posts per page -->
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php $postcount++;
$new_class = ( ($postcount % 2) == 0 ) ? "even" : "odd"; ?>
<div <?php post_class($new_class) ?> id="post-<?php the_ID(); ?>">
    <div class="post_image">
        <a href="<?php echo the_permalink(); ?>">
        <?php if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
            the_post_thumbnail('custom-size'); // post thumbnail    
        }?>
        <button class="blog_button">Vaata</button></a>
    </div>
    <div class="post_tekst">
        <div class="lisakast">
            <h2><?php the_title(); ?></h2>
            <p><?php the_excerpt(); ?></p>
        </div>
    </div>  
    </div><!-- odd / even div -->
        <?php endwhile; endif; ?>
              <div class="loadmore">Lae juurde</div>
        </div><!-- all posts -->

JSFiddle:https://jsfiddle.net/hd4603gj/7/

如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

您只需在JS代码中添加额外的验证。

$(document).ready(function () {
    $(".post").addClass("hide"); 
    total = $( ".post" ).length;
        x = 3;

    $('.loadmore').click(function () {
       //y = x;
        $(total);
    $(".post").removeClass("hide");     
        $(".post:gt("+x+")").addClass("hide"); 
     x++;


    if($(".post.hide").length == 0){
        $('.loadmore').addClass('hide');
    }

    });

当所有帖子都可见时,请隐藏“加载更多”按钮

答案 1 :(得分:-2)

您可以使用以下代码:

$(document).ready(function () {
    $(".post").addClass("hide"); 
        total = $( ".post" ).length;
            x = 3;

        $('.loadmore').click(function () {
           //y = x;
            $(total);
        $(".post").removeClass("hide");     
            $(".post:gt("+x+")").addClass("hide"); 
         x++;


        if(x >= total){
        $( ".loadmore" ).hide();
        }

        });

    });
  

.length()功能:

目前匹配的元素数量。 .size()方法将返回相同的值。获取有关.length()Click

的更多信息

演示:Fiddle