大家下午好,處理js無功能達到素描值
我正在與processingjs合作,並且實現了處理js的一個特性;
我有一個叫做mysketch1.pde的草圖文件,在我的草圖裏面我只聲明瞭int x = 5;出於測試目的。因此,mysketch1.pde包含一個名爲getX()的方法,它是x值的getter。
可以說,我想達到這個值並將其打印在我的網頁上。如果我這樣寫我的Java腳本,我有一個問題;
<script type="text/javascript">
var mysketch = Processing.getInstanceById("mysketch1");
if(mysketch==null){
window.alert("it is null");
}
else
window.alert(mysketch.getX());
</script>
在此代碼中,mysketch變量始終返回null。 (我包括我的素描在JavaScript頭之前的部分)
但是,如果我把一個按鈕,我的網頁和調用相同的代碼作爲功能,它完美的作品;
<script type="text/javascript">
function click(){
var mysketch = Processing.getInstanceById("mysketch1");
if(mysketch==null){
window.alert("it is null");
}
else
window.alert(mysketch.getX());
}
</script>
<button type="button" onclick="click()">place</button>
我想這stuation happends因爲在此之前我.pde文件不知何故JavaScript的工作是loaded.I想.pde被自動加載後顯示X的值。你知道我該怎麼處理這個問題?
問候,
有點破解,但你可以輪詢'getX()'直到它變成不是'null'?我不知道JS,但是像'var x = getX(); while(x!= null){sleep(1); x = getX();}'? – kevinsa5
親愛的凱文; 感謝您的回答。我用setTimeout()函數來解決這個問題。所以我讓我的getX()方法等到。素描已準備就緒。 –
我剛剛意識到我的評論中有一個錯字,我的意思是'while(x == null)'......哦好。真高興你做到了。我會將它作爲未來訪問者的答案發布。 – kevinsa5