javascript中带箭头的分页

javascript中带箭头的分页,javascript,Javascript,以下是我的javascript代码: function setPage(currentPage){ currentPage = parseInt(currentPage) + 1; var last = JSON.parse(localStorage.getItem("Attempt")); var lastPage = last.length - 1; var prevcurPage = currentPage - 1; var prevcurPage2

以下是我的javascript代码:

function setPage(currentPage){
    currentPage = parseInt(currentPage) + 1;
    var last = JSON.parse(localStorage.getItem("Attempt"));
    var lastPage = last.length - 1;
    var prevcurPage = currentPage - 1;
    var prevcurPage2 = currentPage - 2;
    var nextcurPage = currentPage + 1;
    var nextcurPage2 = currentPage + 2;
    var content = "";
    if(lastPage == 1){

    }else{
    if(currentPage == 1){
        if(lastPage > 2){
            content+=" [<a href=''>"+currentPage+"</a>] | ";
            content+=" <a href=''>"+nextcurPage+"</a> | ";
            content+=" <a href=''>"+nextcurPage2+"</a> | ";
        }else{
            content+=" [<a href=''>"+currentPage+"</a>] | ";
            content+=" <a href=''>"+nextcurPage+"</a> | ";
        }

    }else if(currentPage == lastPage){
        if(lastPage > 2){
            content+=" <a href=''>"+prevcurPage2+"</a> | ";
            content+=" <a href=''>"+prevcurPage+"</a> | ";
            content+=" [<a href=''>"+currentPage+"</a>] | ";
        }else{
            content+=" <a href=''>"+prevcurPage+"</a> | ";
            content+=" [<a href=''>"+currentPage+"</a>] | ";
        }
    }else{
            content+=" <a href=''>"+prevcurPage+"</a> | ";
            content+=" [<a href=''>"+currentPage+"</a>] | ";
            content+=" <a href=''>"+nextcurPage+"</a> | ";
    }
}

试着这样做:

if (currentPage > 3)
    content += " < ";
content += currentPage - 2 > 0 ? "<a href=''>"+(currentPage - 2)+"</a> | " : '';
content += currentPage - 1 > 0 ? "<a href=''>"+(currentPage - 1)+"</a> | " : '';

content += "[" + currentPage + "]";

content += currentPage + 1 <= lastPage ? " | <a href=''>"+(currentPage + 1)+"</a>" : '';
content += currentPage + 2 <= lastPage ? " | <a href=''>"+(currentPage + 2)+"</a>" : '';
if (currentPage < lastPage - 2)
    content += " > ";
或者,为了获得更好的灵活性,请使用某种范围变量:

var range = 2;

if (currentPage > range + 1)
    content += " < ";

for (var a = range; a > 0; a--)
    content += currentPage - a > 0 ? "<a href=''>"+(currentPage - a)+"</a> | " : '';

content += "[" + currentPage + "]";

for (var a = 1; a <= range; a++)
    content += currentPage + a <= lastPage ? " | <a href=''>"+(currentPage + a)+"</a>" : '';

if (currentPage < lastPage - range)
    content += " > ";

你说:'';是什么意思?这将是一个三元运算符:。基本上,如果条件为真,则选择左侧,否则选择右侧。因此,如果它为false,它将不添加/连接任何内容。如何在其中添加锚点?我删除了循环,因为在循环中,结果是[1]| 2 | 3[1]| 2 | 3[1]| 2 | 3我将。。而且它不起作用。你能再更新一下吗?你有没有想出解决办法?
var range = 2;

if (currentPage > range + 1)
    content += " < ";

for (var a = range; a > 0; a--)
    content += currentPage - a > 0 ? "<a href=''>"+(currentPage - a)+"</a> | " : '';

content += "[" + currentPage + "]";

for (var a = 1; a <= range; a++)
    content += currentPage + a <= lastPage ? " | <a href=''>"+(currentPage + a)+"</a>" : '';

if (currentPage < lastPage - range)
    content += " > ";