【问题标题】:I have a canvas inside a div, and I can't get the sizing right我在 div 中有一个画布,但我无法调整大小
【发布时间】:2014-04-09 17:05:37
【问题描述】:

我在 div 内有一个画布,我希望画布宽度等于 div 宽度的 90%。

例如:

<div id="outerDiv" style="height:750px; width:1000px">
<canvas id="myCanvas"></canvas>
</div>

当我启动画布时,在 .js 文件中,我有:

window.onload = init;

// Main initialization function
function init () {
initCanvas();
registerInputListeners();
iPhoneToTop();

}

// Set up the drawing canvas
function initCanvas () {
  canvas = document.getElementById("myCanvas");
// Size canvas
  canvas.width  = $("#outerDiv").width * .9;
  canvas.height = $("#outerDiv").height * .9;
}

这不起作用,并且使画布变得非常小 - 2px x 2px。我做错了什么?

我尝试在控制台记录宽度:

 var width = document.getElementById(outerDiv).outerWidth;
 console.log(width);

我收到此错误:未捕获的 TypeError:无法读取 null 的属性“outerWidth”

【问题讨论】:

    标签: javascript html canvas width


    【解决方案1】:

    它是#outerDiv。你忘记了#。另外我认为 jQuery 对象中没有 widthheight(假设 $ 是 jQuery)。

    【讨论】:

    • 啊,对,对不起。我编辑了它。不过还是不行。
    • @user3285918 - 所以$ 是 jQuery,对吧?如果是,那么.width 应该是.width()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 2016-09-22
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多