Я генерирую случайное число в jquery и хочу, чтобы это значение не менялось за сеанс. Это означает, что значение не должно обновляться каждый раз при обновлении страницы.
<p class = "remaining-memberships"><span>XX</span>/p>
Это мой текущий код:
var minMember = 10;
var maxMember = 50;
var randomNumber = randomNumberFromRange(minMember, maxMember);
function randomNumberFromRange(min,max)
{
return Math.floor(Math.random()*(max-min+1)+min);
}
var yetVisited = localStorage['visited'];
var setRandomMember = randomNumber;
if (!yetVisited) {
// open popup
localStorage['visited'] = "yes";
$('.remaining-memberships span').html(randomNumber);
}
else {
}
Как правильно установить мой код if else, чтобы значение внутри $ ('. Остающийся членский диапазон') изменялось только в том случае, если страница еще не посещалась, а если она уже была посещена, значение должно сохраняться.
Любая помощь приветствуется. Спасибо
@RyanWilson, не могли бы вы показать мне, как хранить случайные данные в localStorage?
@ConanCarroll stackoverflow.com/questions/27707501/…
@ConanCarroll так же, как вы сохраняете «да» в localStorage ['посещено'], просто дайте ему другое имя ключа, например, localStorage ['myRandom'] = randomNumber
Если вы хотите сохранить его в сеансе, вот ссылка на то, как это сделать с php (stackoverflow.com/questions/31791984/…)
@RyanWilson, спасибо, Райан. я использую только язык шаблонов, а не php
@ConanCarroll Затем вы должны удалить флаг php из сообщения с вопросом.
@ConanCarroll, какой шаблонный язык вы используете?
@KaffineAddict жидкость
@RyanWilson, вы можете указать свой ответ ниже, чтобы я мог отметить его правильным. ты гуру!
@ConanCarroll Добавил ответ, спасибо за голосование.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попытайтесь получить значение / объект из локального хранилища, если оно пусто, запустите вашу функцию, а затем сохраните в localStorage.
Я изменил его на сохранение в формате JSON, который может быть проанализирован при извлечении, поскольку он позволит вам хранить объект посещение с вашими значениями randomNumber и visited (не уверен, что вам нужно позднее).
<script>
var visit = localStorage.getItem("visit");
// new visit
if (!visit) {
var minMember = 10;
var maxMember = 50;
function randomNumberFromRange(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
var randomNumber = randomNumberFromRange(minMember, maxMember);
visit = {
visited: 'yes',
randomNumber: randomNumber
};
localStorage.setItem('visit', JSON.stringify(visit));
} else {
visit = JSON.parse(visit)
}
$('.remaining-memberships span').text(visit.randomNumber);
</script>
Не проверено, но должно работать.
Почему бы просто не сохранить случайное число в вашем локальном хранилище с флагом посещенного?
var minMember = 10;
var maxMember = 50;
var randomNumber = randomNumberFromRange(minMember, maxMember);
function randomNumberFromRange(min,max)
{
return Math.floor(Math.random()*(max-min+1)+min);
}
var yetVisited = localStorage['visited'];
var setRandomMember = randomNumber;
if (!yetVisited) {
// open popup
localStorage['visited'] = "yes";
localStorage['randomNumber'] = randomNumber;
$('.remaining-memberships span').html(randomNumber);
}
else {
$('.remaining-memberships span').html(localStorage['randomNumber']);
}
Вы можете просто сохранить случайное значение в localStorage следующим образом:
var minMember = 10;
var maxMember = 50;
var randomNumber = randomNumberFromRange(minMember, maxMember);
localStorage['myRandom'] = randomNumber;
Почему бы не хранить случайное в localStorage?