记住变量的历史

时间:2011-07-15 02:37:59

标签: javascript jquery

假设我有一个向右和向左滑动的页面,并使用ajax加载新内容。根据滑动方向,变量设置为leftslide或rightlide。

当您单击浏览器中的后退按钮时,html5 popstate事件将启用并使用ajax加载最后一页。现在使用变量我可以确定当按下后退按钮时要滑入的方向if (var direction == 'leftslide'){ direction = 'rightslide'}(以获得良好的“后退”效果)。

但如果按两次后退按钮,幻灯片将不会总是正确的正弦,它只会反转幻灯片而不是查看该特定页面的幻灯片。

那么有没有办法保存变量历史记录并使用javascript获取订单?

感谢阅读和思考:)

3 个答案:

答案 0 :(得分:2)

var history = [];
var position = 1;

function onSlide() {
    history.push(currentPage);
};

function lastPage() {
    return history.length && history[history.length - 2];
};

function currentPage() {
    return history.length && history[history.length - 1];
};

function goBack() {
    if (history.length) {
        position += 1;

        navigateTo(history[history.length - position]);
    }
}

function goForward() {
    if (history.length) {
        position -= 1;

        navigateTo(history[history.length - position]);
    }
}

明白了吗?

基本上,我们将每个访问的页面保存在一个数组中。当我们浏览历史记录时,我们通过更新一个整数变量来跟踪我们在历史记录中的位置,该变量指示要检查的历史数组中的哪个槽。

答案 1 :(得分:0)

这可能会有所帮助:ajax history libraries

之前从未使用过ajax或javascript

答案 2 :(得分:0)

这听起来更像是你想在cookie中保存一些状态,然后你可以随时读取页面。您可以将cookie限定为整个站点,站点的分支或仅路径。