用visibility: hidden;
設計的畫布應該在一秒鐘後出現窗口大小,對吧?隱形/隱藏畫布不會在Chrome中顯示
var canvas = document.getElementById("myCanvas");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
// draw on canvas.getContext("2d") ...
window.setTimeout(function() {
canvas.style.visibility = "visible";
}, 1000);
它與IE11,但不與Chrome32(Windows7的上運行)。
(呼,我從未想過我會找到的東西,與IE瀏覽器,但無法與Chrome的作品!)
我嘗試使用display: none;
和canvas.style.display= "block";
隱藏和顯示畫布,得到了相同的行爲。
下面是測試:http://jsfiddle.net/CX49R/
奇怪的是,在jsfiddle使用Chrome,畫布(和它繪製的內容)出現你移動鼠標後,在文檔區域(由setTimeout
觸發的功能後調用的,課程)。但是,如果相同的HTML + CSS + JS代碼在單個Chrome選項卡/窗口中運行(除非您通過「檢查元素」打開「開發工具」,或者單擊文檔區域),它永遠不會出現。
我在這裏錯過了什麼?我試圖將代碼減少到最初的情況。
在Mac上,在鍍鉻它工作正常。也許嘗試z-index:-1,然後在第二秒後將其更改爲0 – Huangism
你沒有做錯什麼,它絕對是Chrome的代表。雖然[jsfiddle](http://jsfiddle.net/CX49R/1/)使用顯示而不是可見性,但對我來說確實解決了問題。 – Strille
@Strille,它在jsfiddle之外並沒有爲我工作,也沒有使用jQuery。它適用於Windows7上的jQuery,但不適用於運行在我的Nexus 4/Android 4.4.2 – ericbn