0

機能的には機能するキャンバス Web ページがありますが、起動時にサイズが正しくないことがあります。次のようなキャンバスhtmlタグを宣言したと言います:

<canvas id="main_canvas"></canvas>

そして、jqueryを使用してサイジングを処理するjavascriptファイルを含めました

$(function() {
    var canvas = $('canvas')[0];

    var DISPLAY_WIDTH = window.innerWidth-10,
        DISPLAY_HEIGHT = 620,

ページがロードされた後、キャンバスのサイズが非常に小さな領域に縮小され、レンダリングされたすべてのオブジェクトが互いに積み重なって表示されることがありますが、更新すると、この問題は解決します。要素の検査ツールを使用すると、サイズ変更の問題が発生している間にhtmlコードがあることがわかりました

<canvas id="main_canvas" width="-10" height="620"></canvas>

不明な理由でwindow.innerwidthが取得されず、幅が単純に -10 に設定されているために問題が発生しているようです。しかし、jquery 宣言は、ページが読み込まれた後にのみ実行する必要があり、html タグだけでは$(function(){})使用できないと思います。window.innerWidthまた、この問題が再び発生する可能性があるため、幅を他の数値に設定したくありません。キャンバスの幅としてその数値幅を取得するだけです。

とにかく私にいくつかの修正を教えてもらえますか?ありがとう

4

1 に答える 1

0

全部入れるとどうなるの

$(document).ready(function()

関数?見積もり:

DOM が読み込まれるとすぐに、ページのコンテンツが読み込まれる前に、その中のすべてが読み込まれます。(出典: http://www.learningjquery.com/2006/09/introducing-document-ready )

于 2012-07-25T06:28:33.197 に答える