我正在使用一些代码来显示带有更多按钮的内容。一切都很好。但是只有一个导致问题的是加载所有内容时仍然显示加载更多按钮。我的查询是加载所有内容后加载更多按钮应该消失。
用于加载更多按钮的html代码:
<div id="loadMore" class="g-btn type_primary size_big ldm" style="cursor:pointer; display:none; width: 307px; margin: auto; font-size: 26px; padding: 10px 0px; ">Load more Content</div>
加载更多的Jquery代码:
$(document).ready(function () {
size_li = $("#myList li").size();
x=10;
$('#myList li:lt('+x+')').show();
$('#loadMore').click(function () {
x= (x+10 <= size_li) ? x+10 : size_li;
$('#myList li:lt('+x+')').show();
});
$('#showLess').click(function () {
x=(x-5<0) ? 3 : x-5;
$('#myList li').not(':lt('+x+')').hide();
});
if($('#myList li').length > 10) {
// $('#loadMore').show();
$("#loadMore").css({"display":"block",
});
}
else {
// $('#loadMore').hide();
$("#loadMore").css({"display":"none",
});
}
});
答案 0 :(得分:4)
$("#loadMore").css({"display":"none",});
中存在语法错误。在,
none
$(document).ready(function () {
size_li = $("#myList li").size();
x = 10;
$('#myList li:lt(' + x + ')').show();
$('#loadMore').click(function () {
x = (x + 10 <= size_li) ? x + 10 : size_li;
$('#myList li:lt(' + x + ')').show();
});
$('#showLess').click(function () {
x = (x - 5 < 0) ? 3 : x - 5;
$('#myList li').not(':lt(' + x + ')').hide();
});
if ($('#myList li').length > 10) {
// $('#loadMore').show();
$("#loadMore").css("display", "block");
} else {
// $('#loadMore').hide();
$("#loadMore").css("display", "none");
}
});
或者只需使用
$("#loadMore").hide()
和$("#loadMore").show()
修改强>
获取显示的li
使用:visible
选择器
$('#myList li:visible').length
根据要求进行编辑
var count = 5;
$('#myList li:lt(' + count + ')').show();
$('#showLess').hide();
$('#loadMore').click(function () {
$('#showLess').show();
count = $('#myList li:visible').length;
$('#myList li:lt(' + (count + 5) + ')').show();
if (count + 5 >= $('#myList li').length) {
$(this).hide();
}
});
$('#showLess').click(function () {
$('#loadMore').show();
count = $('#myList li:visible').length;
$('#myList li:gt(' + (count - 5) + ')').hide();
if ((count - 5) <= 5) {
$(this).hide();
}
});