Как установить значение для сеанса в jQuery?

Я генерирую случайное число в 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, чтобы значение внутри $ ('. Остающийся членский диапазон') изменялось только в том случае, если страница еще не посещалась, а если она уже была посещена, значение должно сохраняться.

Любая помощь приветствуется. Спасибо

Почему бы не хранить случайное в localStorage?

Ryan Wilson 19.03.2018 19:40

@RyanWilson, не могли бы вы показать мне, как хранить случайные данные в localStorage?

redshot 19.03.2018 19:42

@ConanCarroll stackoverflow.com/questions/27707501/…

Edward 19.03.2018 19:43

@ConanCarroll так же, как вы сохраняете «да» в localStorage ['посещено'], просто дайте ему другое имя ключа, например, localStorage ['myRandom'] = randomNumber

Ryan Wilson 19.03.2018 19:43

Если вы хотите сохранить его в сеансе, вот ссылка на то, как это сделать с php (stackoverflow.com/questions/31791984/…)

Ryan Wilson 19.03.2018 19:44

@RyanWilson, спасибо, Райан. я использую только язык шаблонов, а не php

redshot 19.03.2018 19:45

@ConanCarroll Затем вы должны удалить флаг php из сообщения с вопросом.

Ryan Wilson 19.03.2018 19:46

@ConanCarroll, какой шаблонный язык вы используете?

KaffineAddict 19.03.2018 19:47

@KaffineAddict жидкость

redshot 19.03.2018 19:47

@RyanWilson, вы можете указать свой ответ ниже, чтобы я мог отметить его правильным. ты гуру!

redshot 19.03.2018 19:58

@ConanCarroll Добавил ответ, спасибо за голосование.

Ryan Wilson 19.03.2018 20:01
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
11
59
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Попытайтесь получить значение / объект из локального хранилища, если оно пусто, запустите вашу функцию, а затем сохраните в 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;

Другие вопросы по теме