Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 记住一个变量';历史_Javascript_Jquery - Fatal编程技术网

Javascript 记住一个变量';历史

Javascript 记住一个变量';历史,javascript,jquery,Javascript,Jquery,假设我有一个页面,可以左右滑动,并使用ajax加载新内容。根据滑动方向将变量设置为leftslide或rightslide 当您单击浏览器中的后退按钮时,html5 popstate事件使用ajax启用并加载最后一页。现在,使用变量,我可以确定按下后退按钮时滑入的方向if(var direction=='leftslide'){direction='rightsiled'}(以获得良好的“后退”效果) 但是,如果你按两次Back按钮,幻灯片并不总是正确的,因为它只会反转幻灯片,而不是查看特定页面

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

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

但是,如果你按两次Back按钮,幻灯片并不总是正确的,因为它只会反转幻灯片,而不是查看特定页面的幻灯片

那么,是否有任何方法可以保存变量历史记录并使用javascript获取订单

感谢您阅读和思考:)

明白了吗


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

这可能会有所帮助:。以前从未使用过ajax或javascript

对我来说,这听起来更像是想在cookie中保存一些状态,然后可以在加载页面时随时读取这些状态。您可以将cookie的作用域设置为整个站点、站点的一个分支或只是一个路径。

如何使用它保存变量?这不只是URL吗?你可以将任何你想要的东西推到历史数组中-变量、函数、数字…当我向后移动两次时,函数怎么知道它应该使用-3而不是-2?在仍然能够正常导航的情况下:s。抱歉问了234个问题:pNo,这是一个非常有效的问题。我将编辑代码以显示如何操作。最后一个问题:p。这是否正确:var方向=左侧;历史。推动(方向);?这似乎对我不起作用,但可能是其他原因:)我没有给-1,但我确实发现你的问题令人困惑;也许有人觉得这太令人困惑了,所以他们投了反对票。我不知道怎么问这个,所以。。。
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]);
    }
}