题解 | #生成页码#

生成页码

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树中,所以将子元素插入到文档片段时不会引起页面回流(对元素位置和几何上的计算)。因此,使用文档片段通常会带来更好的性能

全部评论

相关推荐

8 收藏 评论
分享
牛客网
牛客企业服务