隐藏“加载更多:延迟加载中的按钮
Hide "Load More: button in a lazy load
如果没有更多项目分配给 "display: none",我想隐藏 "Load more" 按钮。我有一个过滤器,可以根据旅游标准加载 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>
添加一个按钮进行测试:
<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();
}
});
希望对您有所帮助。
如果没有更多项目分配给 "display: none",我想隐藏 "Load more" 按钮。我有一个过滤器,可以根据旅游标准加载 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>
添加一个按钮进行测试:
<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();
}
});
希望对您有所帮助。