我想在超時時間後在畫布上繪製一條線。其中一個「lineTo」參數正在從另一個腳本中聲明的變量中發送一個值,並正在作爲window.var傳遞....HTML5 - 超時後在畫布上繪製
我有一個控制檯日誌設置爲在與在canvas腳本中訪問該變量的時間一樣。
onLoad,一切都按照它應該執行。超時後,控制檯顯示該變量有一個值,但畫布線未繪製。
起初,我沒有超時插入和變量保持回來未定義。我選擇暫停,因爲我還沒有完全理解回調。
任何意見將不勝感激!
<script>
window.setTimeout(render,8500);
function render(){
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var end = window.testVar;
context.beginPath();
context.moveTo(4, 28);
context.lineTo(end, 28);
context.lineWidth = 10;
context.stroke();
console.log(end);
}
</script>
這個變量在哪裏以及如何定義? – Joseph 2014-10-17 18:18:24
我在
標籤之間有一個單獨的腳本,它觸發了一個函數「onload」。該函數發送到服務器並解析一小組數據點。其中一點是傳遞給window.var。我很難過,因爲值顯示在控制檯日誌中,所以我知道該變量已定義....只是無法弄清楚爲什麼畫布不會將此變量映射到其中一個變量lineTo參數並繪製線條。 – Synyster 2014-10-17 18:40:22好吧,所以我在「context.lineTo(end,28);」中替換了var用一個靜態數字「context.lineTo(55,28);」,並且該行也不是繪製的。顯然,這與變量無關。當代碼不在render()函數內時,代碼似乎工作。任何人都可以告訴我在這裏搞亂了什麼? – Synyster 2014-10-17 18:54:46