我正试着建造一堆靴带卡。
当卡片小于10,然后隐藏加载-更多的按钮。
当卡超过10,隐藏一些卡片( 10卡后的卡片)-从第11张卡片所有的卡片,添加css类(以隐藏类)。
在点击“Load-更多”时,它应该会显示另外10张卡--只需从卡片中移除隐藏类。把剩下的牌藏起来。到目前为止,它将显示10 +10(点击事件后),并隐藏其余的卡片(21张继续,将显示,通过按钮点击)
我不能用Javascript实现这一点。
如果有人能提出解决这个问题的方法。我正在寻找有帮助的意见来解决这个问题。
编辑:我不想实现任何Ajax只是简单的Javascript,在页面加载期间加载,并使用JavaScript隐藏。
应该有多个按钮实例--在本例中,有四堆卡片,每个堆栈应该有不同的“加载按钮”。
window.onload = multipleCards;
function multipleCards(){
//first find all the footer stacks, then loop through, make buttons - hide - and load function
var stackIndex = document.getElementsByClassName("footer-card");
var btnIndex = document.querySelectorAll(".d-grid .gap-4");
//loop for all footer stacks
for(var i=0; i<stackIndex.length; i++){
var cardsNum = stackIndex[i].getElementsByClassName("col-6");
if(cardsNum.length <= 10){
btnIndex[i].querySelector(".btn").style.display = 'none';
} else {
stackIndex[i].getElementsByClassName("col-6").classList.add("invisible");
btnIndex[i].querySelector(".btn").click.classList.remove("invisible");
}
}
}<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"/>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> </title>
</head>
<body>
<h3>Footer card - I</h3>
<div class="row footer-card">
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
</div>
<div class="d-grid gap-4">
<button class="btn btn-secondary py-1 my-3 mx-5" type="button">Load More</button>
</div>
<h3>Footer card - II</h3>
<div class="row footer-card">
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
</div>
<div class="d-grid gap-4">
<button class="btn btn-secondary py-1 my-3 mx-5" type="button">Load More</button>
</div>
<h3>Footer card - III</h3>
<div class="row footer-card">
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
</div>
<div class="d-grid gap-4">
<button class="btn btn-secondary py-1 my-3 mx-5" type="button">Load More</button>
</div>
<h3>Footer card - IV</h3>
<div class="row footer-card">
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
</div>
<div class="d-grid gap-4">
<button class="btn btn-secondary py-1 my-3 mx-5" type="button">Load More</button>
</div>
</body>
</html>
发布于 2021-03-16 03:28:32
window.onload = multipleCards;
function loadMoreCards() {
//Get all the invisible footer cards by index and show them
var i = this.getAttribute("index");
var stackIndex = document.getElementsByClassName("footer-card");
var btnIndex = document.getElementsByClassName("btn");
var cardsNum = stackIndex[i].getElementsByClassName("card d-none");
if(cardsNum.length<=10) {
btnIndex[i].classList.add("d-none");
}
Array.from(cardsNum).slice(0, 10).forEach( function(c) { c.classList.remove("d-none"); });
}
function multipleCards() {
//first find all the footer stacks, then loop through, make buttons - hide - and load function
var stackIndex = document.getElementsByClassName("footer-card");
var btnIndex = document.getElementsByClassName("btn");
//loop for all footer stacks
for(var i=0; i<stackIndex.length; i++) {
var cardsNum = stackIndex[i].getElementsByClassName("card");
var btn = btnIndex[i];
if(cardsNum.length <= 10){
btn.classList.add("d-none");
} else {
Array.from(cardsNum).slice(10).forEach( function(c) { c.classList.add("d-none"); });
btn.classList.remove("d-none");
}
btn.setAttribute("index", i);
btn.addEventListener('click', loadMoreCards);
}
}<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"/>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> </title>
</head>
<body>
<h3>Footer card - I</h3>
<div class="row footer-card">
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
</div>
<div class="d-grid gap-4">
<button class="btn btn-secondary py-1 my-3 mx-5" type="button">Load More</button>
</div>
<h3>Footer card - II</h3>
<div class="row footer-card">
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
</div>
<div class="d-grid gap-4">
<button class="btn btn-secondary py-1 my-3 mx-5" type="button">Load More</button>
</div>
<h3>Footer card - III</h3>
<div class="row footer-card">
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
</div>
<div class="d-grid gap-4">
<button class="btn btn-secondary py-1 my-3 mx-5" type="button">Load More</button>
</div>
<h3>Footer card - IV</h3>
<div class="row footer-card">
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
<div class="col-6 card"><p>This is card</p></div>
</div>
<div class="d-grid gap-4">
<button class="btn btn-secondary py-1 my-3 mx-5" type="button">Load More</button>
</div>
</body>
</html>
https://stackoverflow.com/questions/66630906
复制相似问题