题解 | #生成页码#
生成页码
http://www.nowcoder.com/practice/d2f7c1ed14f5482490271fd3b9cf4a86
思路
这道题简单,首先是要根据总数据项个数和每页的数据项个数计算出页码数,使用Math.ceil方法向上取整 allItem / pageItem. 最后用循环生成元素添加到ul上即可.
代码
const _createPage = (allItem, pageItem) => {
// 补全代码
const ulNode = document.querySelector('#ul')
const frag = document.createDocumentFragment() // 文档片段
const page = Math.ceil(allItem/pageItem) // 页数
for(let i=1; i<=page; i++){
const li = document.createElement('li')
li.innerText = `${i}`
frag.appendChild(li)
}
ulNode.appendChild(frag)
}
这里是使用文档片段,最后再统一添加到ul上.
DocumentFragments是DOM节点。它们不是主DOM树的一部分。通常的用例是创建文档片段,将元素附加到文档片段,然后将文档片段附加到DOM树。在DOM树中,文档片段被其所有的子元素所代替。因为文档片段存在于内存中,并不在DOM树中,所以将子元素插入到文档片段时不会引起页面回流(对元素位置和几何上的计算)。因此,使用文档片段通常会带来更好的性能