2011-02-24 65 views
1

對於極客們來說,這可能是一個簡單的問題,但至少對我來說不是這樣。我從零開始開發一個簡單的程序。我使用wizard標記來簡化用戶看來的GUI。在wizard頁面上,我插入了一個progressmeter以顯示名爲myFunction()的函數的進度,該函數屬於XUL文件中可用的JavaScript。如何根據功能的真實進度正確更新progressmeter如何在XUL應用程序中使用進度計?

回答

1

您是否嘗試過使用其「value」屬性設置progressmeter的進度?

myProgressmeter.value = 50; 

你只需要根據你的函數的進展增加這個值。 注意,值應該在0和myProgressmeter.max之間設置

+0

問題是**如何**?我知道價值屬性,以及如何爲其設置價值。事情是,我需要知道函數的進度是如何爲** value **屬性設置適當的值。 XUL文檔上的** progressmeter **不會正確更新。這是問題。謝謝回覆。 – 2011-02-24 11:46:07

+0

我真的不明白你的問題,你可以在javascript函數中設置這個值。 如果你的函數在js模塊(而不是腳本)中執行,你將不能直接訪問XUL文檔,需要使用觀察者,否則它應該工作。 請注意,可能應該使用屬性值而不是屬性值來設置進度。這是一個常見的錯誤,試圖通過屬性,而不是財產...... – revers 2011-02-24 12:31:21

+0

@revers, 我的JavaScript部分 '函數progressBarUpdate(X)\t { \t VAR PGS =的document.getElementById(「clng_progress_bar」更新元素); \t pgs.value = x; } 功能進度()\t { \t爲(VAR I = 0;我<= 100;我++){\t \t \t progressBarUpdate(ⅰ); \t \t(var j = 0; j <1000000; j ++); \t} }' 和XUL部分是 '' 爲什麼不此按預期方式工作? – 2011-02-24 17:14:04

2

是,相反的線程的工作一輪的工作,但按照美國商務部(這裏:https://developer.mozilla.org/en/nsIThreadprocessNextEvent可以等待很長的時間,如果沒有未決事件!呃..因爲xulrunner單線程似乎很少,導致巨大的減速。搖擺鼠標雖然有幫助。

在進一步調查use processNextEvent(false)工作沒有延誤。

相關問題