2017-10-18 134 views
0

我想隱藏」加載更多「按鈕,如果沒有更多的項目」顯示:無「分配給他們我有一個過濾器加載基於遊覽條件的HTML列表 - 所以列表從不相同隱藏「加載更多:按鈕在一個懶惰的負載

例如,如果我只有一個項目,或者我只有4個項目並且沒有任何要加載,則加載更多按鈕應該被禁用或不可見

我有以下HTML腳本:

jQuery(function ($) { 
 

 
    var tour_block = $(".tour"); 
 

 
    // count elements and find how many have display none 
 
    /* 
 
    var size_li = tour_block.size(); 
 
    alert(size_li); 
 
    */ 
 

 

 
    tour_block.slice(0, 6).show(); 
 

 
    $("#loadMore").on('click', function (e) { alert("dd"); 
 
     e.preventDefault(); 
 

 
     var hidden_tour = $(".tour:hidden"); 
 

 
     hidden_tour.slice(0, 4).slideDown(); 
 
     if (hidden_tour.length == 0) { 
 
      $("#load").fadeOut('slow'); 
 
     } 
 
     $('html,body').animate({ 
 
      scrollTop: $(this).offset().top 
 
     }, 1500); 
 
    }); 
 

 
});
.tour { 
 
    border: 1px solid red; 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div class="results"> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
    <div class="tour">some tour content</div> 
 
</div> 
 

 
<a id="loadMore" href="#">Load More Tours</a>

回答

1

添加一個按鈕來進行測試:

<button id="test-button">Test Button</button> 

使用該腳本:

$('#test-button').on('click', function() { 

    // Check if there are no hidden values (note ! prefix) 
    // Select all with class 'tour' and filter for hidden items 
    if (!$('.tour:hidden').length) { 
     // Hide button 
     $('#loadMore').hide(); 
    } 

}); 

希望它能幫助。