题目描述不清晰,隐藏首页/末页不能用行内样式
是否需要首页/末页li节点的边界条件问题
function Pagination(container, total, current) {
    // container: Node
    // total: num
    // current: num
    this.total = total;
    this.current = current;
    this.html = html;
    this.val = val;
    this.el = document.getElementsByClassName('pagination')[0]; //TODO: 创建分页组件根节点, 即页面中的ul标签,el是定死的
    if (!this.el) return; // 分页内容为空,直接返回
    // this.val();
    this.el.innerHTML = this.html();
    container.appendChild(this.el);
    // this.el.className = ''; //TODO: 判断是否需要隐藏当前元素
    if (this.total < 1) {
        this.el.className = 'pagination hide';
    }

    // 生成ul的innerHTML
    function html() {
        //TODO: 生成组件的内部html字符串
        if (this.total <= 1) {
            return '';
        } else if (this.total <= 5) {
            var htmlText = '';
            // htmlText += '<li style="display: none;">首页</li>';
            // 生成li
            for (var i = 0; i < this.total; i++) {
                if (this.current - 1 === i) {
                    htmlText += `<li class = "current">${i+1}</li>`;
                } else {
                    htmlText += `<li>${i+1}</li>`;
                }
            }
            // htmlText += '<li style="display: none;">末页</li>';
            // 高亮显示current页
            return htmlText;
        } else { // total > 5
            var htmlText = '';
            if (this.current <= 3) { // 前面不够,向后补齐,不要首页
                // htmlText += '<li style="display: none;">首页</li>';
                for (var i = 0; i < 5; i++) {
                    if (this.current - 1 === i) {
                        htmlText += `<li class = "current">${i+1}</li>`; // current项
                    } else {
                        htmlText += `<li>${i+1}</li>`;
                    }
                }
                htmlText += '<li>末页</li>';
            } else if (this.total - this.current <= 2) { // 右边不够,向左补齐,不要末页
                htmlText += '<li>首页</li>';
                for (var i = this.current - (5 - (this.total - this.current + 1)) - 1; i < this.total; i++) {
                    console.log(i);
                    if (this.current - 1 === i) {
                        htmlText += `<li class = "current">${i+1}</li>`; // current项
                    } else {
                        htmlText += `<li>${i+1}</li>`;
                    }
                }
                // htmlText += '<li style="display: none;">末页</li>';
            } else { // 两边均足够
                htmlText += '<li>首页</li>';
                for (var i = this.current - 2 - 1; i < this.current + 2; i++) {
                    if (this.current - 1 === i) {
                        htmlText += `<li class = "current">${i+1}</li>`; // current项
                    } else {
                        htmlText += `<li>${i+1}</li>`;
                    }
                }
                htmlText += '<li>末页</li>';
            }
            return htmlText;
        }
    }

    function val(current) {
        if (arguments.length === 0) return this.current;
        if (current < 1 || current > this.total || current === this.current) return;
        this.current = current;
        this.el.innerHTML = this.html();
    };
}