2012-07-02 2 views
0

Я страница, которая перенаправляет на себя. (С стрелками на следующий день и предыдущий день) На странице document.ready на странице отображается новый день.Как сохранить значение переменных в javascript

Дни хранятся в 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» в начале сценария , он продолжает возвращаться к 0 всякий раз, когда вызывается страница, и если я сделал это без какой-либо ценности, как я могу узнать место, в котором я начинаю?

+0

Ответ пока не помог? – WolvDev

ответ

1

Хранить его в локальном хранилище. При запуске скрипта в первый раз проверьте, typeof localStorage['your_var'] == "undefined", если true установить его в 0, если false, используйте это значение.

1

вы можете использовать хэш (#) в URL-адресе, чтобы ваш скрипт знал, в какой день вы сейчас находитесь, или вы можете сохранить эту информацию в файле cookie.

Обратите внимание, что если вы используете символ хэша в URL-адресе, вы можете отправить ссылку кому-то еще в определенный день, где, как и в файлах cookie, используется «за», что означает, что только браузер пользователя будет помнить, какой день активен в данный момент.

так, например:

www.example.com/#Day0 

станет URL для Day0

www.example.com/#Day1 

будет URL для день1

то в вашем коде, вам нужно сделать что-то вроде этого:

var current_day = window.location.hash; 

и используйте эту переменную для инициализации массива.

всякий раз, когда кто-то щелкает идти на другой день просто сделать историю толчок к месту, как

var url = "#" + day_to_display; 
if (history.pushState) 
    history.pushState("", "", url); 
else 
    window.location = url; 
3

Вы можете использовать LocalStorage или globalStorage для хранения данных:

if(typeof localStorage['userName'] === "undefined") { 
    // defining the localStorage variable 
    localStorage.setItem('userName', 'taranfx'); 
} 

alert("Your user is: " + localStorage.getItem('userName')); 

ИЛИ вы можете использовать cookies для сохранения ценности, даже после обновления страницы:

Cookies могут быть созданы, прочитаны и удалены с помощью JavaScript. Они доступны через документ property.cookie. Хотя вы можете рассматривать document.cookie, как будто это строка, на самом деле это не так, и у вас есть только доступ к парам имя-значение.

Если я хочу установить кук для с именем-значение парой «ppkcookie1 = testcookie», который истекает в течение семи дней с момента я пишу это предложение, я

document.cookie = 
    'ppkcookie1=testcookie; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/' 
  1. Первого имя -value пара ('ppkcookie1 = testcookie')
  2. то точка с запятой и пробел
  3. то дата истечения срока действия в правильном формате ('истекает = чт, 2 авг 2001 20:47:11 UTC')
  4. снова точку с запятой и пробел
  5. тогда путь (путь = /)

Это очень строгий синтаксис, не меняйте его!

Кроме того, даже если это выглядит как я пишу всю эту строку в строку document.cookie, как только я прочитал его снова я вижу только пару имя-значение:

ppkcookie1=testcookie 

http://www.quirksmode.org/js/cookies.html

Смежные вопросы