以下功能仅在刷新页面后才起作用。当页面再次刷新后,它会再次停止工作,依此类推。
<button id="moreBtn" type="button" class="archive btn btn-default col-sm-12"></button>
function ShowHideBtn() {
var newss = 5;
var numItems = $(".news").length;
hidenews = "- Show Less Products";
shownews = "+ Show More Products";
$(".news:not(:lt(" + newss + "))").hide();
$("hr:not(:lt(" + newss + "))").hide();
if (numItems >= newss) {
$(".archive").show();
$(".archive").html(shownews);
$(".archive").on("click", function (e) {
e.preventDefault();
if ($(".news:eq(" + newss + ")").is(":hidden")) {
$("hr:hidden").show();
$(".news:hidden").show();
$(".archive").html( hidenews );
} else {
$("hr:not(:lt(" + newss + "))").hide();
$(".news:not(:lt(" + newss + "))").hide();
$(".archive").html(shownews);
}
return false;
});
} else {
$(".archive").hide();
}
}
提前致谢
答案 0 :(得分:0)
这是猜测,因为没有足够的信息来确认它。请提供完整页面的HTML /代码:
由于浏览器页面请求是无状态的(所以它无法知道它是否是所有其他负载),这听起来像是时间问题。 HTML通常在第一次加载速度较慢,因此如果JS代码不位于它引用的元素之后(或者在DOM就绪处理程序中),那么它可能无法找到{{1元素。如果它是一个时间问题,它更可能是随机的,而不是“每隔一个页面加载”。
请尝试以下方法之一:
.archive
标记之前。将您的代码放在DOM就绪处理程序中,然后它的位置无关紧要。例如像:
(文档)$。就绪(函数(){ //你的代码在这里 });
或DOM准备好的快捷版:
</body>