Javascript .onchange?

В настоящее время я пытаюсь найти способ автоматического сохранения предыдущей цены товара до его обновления. Например, если на моем веб-сайте я показываю обмен валют, пусть он будет в долларах США к евро, и я получаю только цену обмена в реальном времени, как я могу использовать javascript для отображения предыдущего значения в одной строке и отображения обновленного значения в другой строке. Это пример кода, предполагающий, что случайное число является ценой обмена между валютами.

Разметка:

<p id="price"></p>
<p id="previous"></p>

JavaScript:

<script>
var price = Math.round((Math.random() + 1)*100)/100;
document.getElementById("price").innerHTML = price;
</script>

В этом случае появляется случайное число, например 1.11. После этого я обновляю страницу, сценарий запускается снова, и случайное число меняется на 1,43. Я хочу отобразить новое случайное число, которое равно 1.43 под #price, и старое (или предыдущее) случайное число, которое в этом случае было 1.11 под #previous. Как я могу использовать JavaScript для этого?

До сих пор благодаря @Terry я пришел к чему-то вроде этого:

<p id="price"></p>
<p id="previous"></p>

<script>
var price = Math.round((Math.random() + 1)*100)/100;
document.getElementById("price").innerHTML = price;
localStorage.previous = price;
document.getElementById("previous").innerHTML = localStorage.previous;
</script>

Есть ли способ использовать localStorage, чтобы сохранить предыдущую цену (или старое случайное число) после обновления страницы?

2 ответа

Решение

Это скрипт:

<script>
document.getElementById("previous").innerHTML = localStorage.getItem("previous");
var price = Math.round((Math.random() + 1)*100)/100;
document.getElementById("price").innerHTML = price;
localStorage.setItem("previous", price);
</script>

Обновление всей страницы снова запустит весь сценарий, так что есть 2 возможных решения

  1. Использование ajax-запроса для загрузки новой цены и множество библиотек, которые могут помочь вам в этом, таких как JQuery
  2. Если вам нужно обновить страницу, и у вас есть код на стороне сервера, то сохраните старое значение в скрытом поле и обновите логику на стороне сервера и на стороне клиента, чтобы иметь значение внутри скрытого поля.
Другие вопросы по тегам