Сравнение нового значения, полученного из API, с предыдущим значением

0

Я ищу решение для сравнения нового значения, полученного из вызова API, с ранее полученным значением. Используя CSS, я затем анимирую значение, чтобы уведомлять об использовании изменения, в настоящее время значение анимируется каждый раз, когда оно опрошено независимо от того, является ли это значение одинаковым или отличающимся.

Мое текущее решение в jQuery выглядит как показано ниже. Там бухнуться кода здесь. Я сделал код как можно более простым, вместо того, чтобы опросить API, он просто опросил случайное число.

function poll(){
    var data = Math.floor(Math.random() * 3) + 1;
    $("#example").addClass('animate');
    setTimeout(function(){
      $("#example").removeClass('animate');
    }, 2000);

    $("#example").html(data);
  };

  setInterval(poll, 3000);
  • 1
    Вы должны вставить свой фрагмент кода в свой вопрос, чтобы этот вопрос оставался в силе, если / когда pinkr.co исчезнет или удалит этот фрагмент.
  • 0
    Спасибо, только что добавил код JS в вопрос.
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Я думаю, вы можете захотеть обернуть этот код анонимной функцией, чтобы вы могли висеть на старом значении без загрязнения глобальной области. Так что-то вроде этого может работать:

(function (){

var old = null;

function poll() {
  var data = Math.floor(Math.random() * 3) + 1;

  // compare data with old here
  if( data != old) {
    $("#example").addClass('animate');
    setTimeout(function(){
      $("#example").removeClass('animate');
    }, 2000);
  }

  $("#example").html(data);
  old = data;
};
setInterval(poll, 3000);

})();
  • 0
    Спасибо, Пол! Это сработало отлично.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню