2011-07-14 22 views
-1

當全局變量達到某個值時,我必須執行javascript方法,例如,如果x = 10,那麼do doSomething();每次成功完成異步請求後,可以從多個位置增加變量。javaScript如何通過條件執行方法?

+2

您可以發佈一些代碼嗎? – Vithozor

+0

這與你在不到一小時前問過的問題基本上不一樣嗎? http://stackoverflow.com/questions/6690675/how-to-handle-event-in-javascript-jquery –

+0

@JamesAllardice是的,但那是封閉的。 –

回答

0

JavaScript並沒有提供原生的數據綁定功能,你必須依靠投票:

globalVar = 0; 

setInterval(function(){ 

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

}, 100); 

在上面的代碼,我定義這將在每個100毫秒執行的函數,如果globalVar已經達到最小10的值將被調用,假設的globarVarChangeHandler()。

+0

Yuck,輪詢變量的變化?請不要使用這個。 –

2

沒有任何定時器或輪詢的解決方案:

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

什麼是一個好主意:-) –

0

而不是使用全局變量你爲什麼不使用input文本字段(display:none),並更新該字段的值。 Thean您可以在此字段上應用onchange事件來觸發您的doSomething()方法

+0

會工作,但不需要DOM元素,這是過分的 –

相關問題