我想隐藏"加载更多"按钮,如果没有更多项目,分配给" display:none" 。我有一个过滤器,根据游览标准加载HTML列表 - 所以列表永远不会相同。
E.g。如果我只有一个项目或者我只有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>
&#13;
答案 0 :(得分:0)
添加一个测试按钮:
<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();
}
});
希望它有所帮助。