我是一个重定向到自己的页面。 (第二天和前一天的箭头) 在document.ready页面显示新的一天。
天数存储在localStorage中,如下所示:
for(var i = 0;i<status.length;i++)
{
localStorage["Day" + i] = status[i].name;
}
我希望每次显示的默认日期为“Day0”,然后当用户点击下一个或上一个时间时显示另一天。
$(document).ready(function () {
$("#CurrentDay").empty();
$("#CurrentDay").append(GetCurrentDay());
});
function GetCurrentDay() {
localStorage["CurrentDay"] = localStorage["Day0"];
return localStorage["CurrentDay"];
}
我让箭头调用这些函数:
function GoToNextDay() {
if (i != localStorage["SchoolDays"]+1) {
i = i + 1;
localStorage["CurrentDay"] = localStorage["Day" + i];
}
else {
localStorage["CurrentDay"] = localStorage["Day" + 0];
}
}
function GoToPrevDay() {
if (i != 0) {
i = i - 1;
localStorage["CurrentDay"] = localStorage["Day" + i];
}
else {
localStorage["CurrentDay"] = localStorage["Day" + localStorage["SelectedDaysNumber"]];
}
}
我想知道如何在脚本开头用“0”初始化它时如何存储值“i”,每当调用页面时它都会返回0,如果我没有价值我怎么知道我开始的地方?
答案 0 :(得分:3)
您可以使用localStorage或globalStorage存储数据:
if(typeof localStorage['userName'] === "undefined") {
// defining the localStorage variable
localStorage.setItem('userName', 'taranfx');
}
alert("Your user is: " + localStorage.getItem('userName'));
或者即使刷新页面,您也可以使用cookie来存储值:
可以通过JavaScript创建,读取和删除Cookie。可以通过物业document.cookie访问它们。虽然你可以将document.cookie看作是一个字符串,但它并不是真的,你只能访问名称 - 值对。
如果我想为一个名字 - 值对'ppkcookie1 = testcookie'设置一个cookie,从我写这句话的那一天起七天后到期,我就
document.cookie =
'ppkcookie1=testcookie; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/'
这是一个非常严格的语法,不要改变它!
另外,即使看起来我正在将整个字符串写入字符串document.cookie,但只要我再次读出它,我就会看到名称 - 值对:
ppkcookie1=testcookie
答案 1 :(得分:1)
将其存储在localStorage中。首次启动脚本时,请检查是否typeof localStorage['your_var'] == "undefined"
,如果true
将其设置为0,如果为false,则使用该值。
答案 2 :(得分:1)
您可以在网址中使用哈希(#)让您的脚本知道您现在在哪一天,或者您可以将该信息保存在Cookie中。
请注意,如果您在网址中使用哈希符号,您可以实际向其他人发送指向特定日期的链接,其中在Cookie中,每个“会话”基础仅表示该用户的浏览器将记住活动的哪一天那一刻。
所以例如:
www.example.com/#Day0
将是Day0的网址
www.example.com/#Day1
将是Day1的网址
然后在你的代码中你需要做这样的事情:
var current_day = window.location.hash;
并使用该变量来初始化数组。
每当有人点击进入另一天时,只需将历史记录推送到
这样的位置即可var url = "#" + day_to_display;
if (history.pushState)
history.pushState("", "", url);
else
window.location = url;