gpt4 book ai didi

Javascript 分页问题

转载 作者:行者123 更新时间:2023-11-30 13:56:16 26 4
gpt4 key购买 nike

我正在尝试制作一个简单的 Javascript 分页功能,但我遇到了这个问题,它不是遍历数组,而是不断向 innerhtml 添加新的列表项。

  • 我已经尝试创建一个元素并将其附加到 DOM。
  • 我试过使用 if/else 语句来显示列表项想要。
<body>
<div class='result'></div>
<button class="add">+</button>
<script src='pretty.js'></script>
</body>
let dogs =  [
'goldendoodle',
'poodle',
'afghan hound',
'golden retriever',
'labrador',
'chihuahua',
'pitbull',
'german shepherd',
'greyhound',
'bull terrier'
]
let high = 1;
let low = 0;
let result = document.querySelector('.result');
let add = document.querySelector('.add');
function Pagination(low,high) {


for(var i = 0 ; i < dogs.length;i++) {
let answer = document.createElement('div');
answer.classList.add('dogs-dom');

answer.innerHTML = dogs[i];
result.appendChild(answer);

if(i >= low && i < high) {

answer.style.display ='block';


}
if(i < low || i > high) {

answer.style.display ='none';
}




}

}
Pagination(low,high);
add.addEventListener('click', () => {

low += 2;
high += 2;

Pagination(low,high);
});


当我单击按钮时,我希望出现接下来的两个数组项并替换显示的最后两个。

最佳答案

要使用上面概述的方法,您需要在添加新子项之前清除 result 元素的 innerHtml。在 Pagination 函数的顶部尝试 result.innerHtml = '';

也就是说,如果您使用隐藏/显示方法对列表进行分页,那么只创建一次 dom 元素并修改每个元素的 style.display 属性而不是清除它们会更有效result 并在每次点击时重新创建所有 answer div

关于Javascript 分页问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57245460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com