未捕获的TypeError:history.push不是函数

时间:2016-01-11 22:19:45

标签: javascript jquery

这是我的代码:

var navStates = [true, false, false, false, false];
var history = [];
var historyPos = 0;
var havingAWebsite = false;

$(document).ready(function() {
    $("#infozion").trigger("focus");
    $("#content").hide().load("index_content.php").fadeIn("1000");
    $("html, body").animate({ scrollTop: 0 }, "fast");
    $(".navbar-brand").click(function() {
        $("#content").hide().load("index_content.php").fadeIn("300");
        navStates[0] = true; navStates[1] = false;
        navStates[2] = false; navStates[3] = false; navStates[4] = false;
        history.push(0);
        historyPos = history.length - 1;
        havingAWebsite = false;
    });
    $(".navbar-nav a:eq(0)").click(function() {
        $("#content").hide().load("services.php").fadeIn("300");
        navStates[0] = false; navStates[1] = true;
        navStates[2] = false; navStates[3] = false; navStates[4] = false;
        history.push(1);
        historyPos = history.length - 1;
        havingAWebsite = false;
    });
    $(".navbar-nav a:eq(1)").click(function() {
        $("#content").hide().load("tech.php").fadeIn("300");
        navStates[0] = false; navStates[1] = false;
        navStates[2] = true; navStates[3] = false; navStates[4] = false;
        history.push(2);
        historyPos = history.length - 1;
        havingAWebsite = false;
    });
    $(".navbar-nav a:eq(2)").click(function() {
        $("#content").hide().load("about.php").fadeIn("300");
        navStates[0] = false; navStates[1] = false;
        navStates[2] = false; navStates[3] = true; navStates[4] = false;
        history.push(3);
        historyPos = history.length - 1;
        havingAWebsite = false;
    });
    $(".navbar-nav a:eq(3)").click(function() {
        $("#content").hide().load("contact.php").fadeIn("300");
        navStates[0] = false; navStates[1] = false;
        navStates[2] = false; navStates[3] = false; navStates[4] = true;
        history.push(4);
        historyPos = history.length - 1;
        havingAWebsite = false;
    });
});

history.push(0);给了我Uncaught TypeError,这没有任何意义,因为历史 是一个数组,而 是一个函数。

1 个答案:

答案 0 :(得分:3)

history实际上是窗口的只读属性,是History object的一个实例。您可能希望将变量重命名为其他内容以使其正常工作