2014-09-04 109 views
0

畫布寬度當我做設置高度和JavaScript的

canvas.width=window.innerWidth; 

我沒有得到任何的問題。

當我做

canvas.style.width=window.innerWidth; 

畫布仍保持其默認寬度。

當我做

canvas.width(window.innerWidth); 

我得到 「遺漏的類型錯誤:數量不是一個函數」。我沒有稱爲「畫布」,「寬度」,「窗口」或「innerWidth」的變量或函數。

爲什麼只有第一種方法有效?

+0

兩種第一種方式工作,第三種方式當然不會('寬度'不是函數)。如果第二種方法不能產生所需的效果,那麼你有其他的東西會覆蓋它的效果(或者代碼根本不會被執行)。提供一個實際證明問題的實例。 – 2014-09-04 05:09:02

回答

0

因爲畫布有widthheight作爲屬性也每次重新設置畫布的高度或寬度時,畫布內容將被清除。這就是爲什麼你的第一種方法已經奏效。

0

width是屬性,而不是函數,因此是錯誤。畫布元素的width屬性會影響畫布上下文,而style.width僅適用於HTML元素,所以如果此值較高,它將拉伸上下文。