javaScript как выполнить метод по условию? - PullRequest
0 голосов
/ 14 июля 2011

Мне нужно выполнить метод javascript, когда глобальная переменная достигает некоторого значения, например, если x = 10, тогда doSomething (); Переменная может быть увеличена из нескольких мест после каждого успешного асинхронного запроса.

Ответы [ 3 ]

2 голосов
/ 14 июля 2011

Решение без таймера или опроса:

var X = {    // global variable
    value: 0,
    set: function(v) {
             X.value = v;
             if (X.value == 10) { 
                 // do what you like, e.g.
                 alert("X == 10"); 
             }
          }
 };

 X.set(3);
 X.set(X.value + 7);  // "do what you like" gets executed
0 голосов
/ 14 июля 2011

Вместо использования глобальной переменной, почему бы вам не использовать текстовое поле inputdisplay:none) и обновить значение этого поля.Затем вы можете применить onchange событие к этому полю, чтобы вызвать ваш doSomething() метод

0 голосов
/ 14 июля 2011

JavaScript не предлагает встроенных функций привязки данных, вы должны полагаться на опрос:

globalVar = 0;

setInterval(function(){

if (globalVar >= 10) {
  globarVarChangeHandler();
}

}, 100);

В приведенном выше коде я определил функцию, которая будет выполняться каждые 100 миллисекунд, и если globalVar достигнет минимального значения 10, будет вызван гипотетический globarVarChangeHandler ().

...