Javascript e页面已加载。如果要使用new Image()动态拉入图像,则window.load不合适;您应该在图像触发各自的load事件后进行绘制。您可能对图像预加载程序感兴趣,例如,将其作为全局变量放置在ready works之外。但这不是一个不寻常的做法吗?我已

Javascript e页面已加载。如果要使用new Image()动态拉入图像,则window.load不合适;您应该在图像触发各自的load事件后进行绘制。您可能对图像预加载程序感兴趣,例如,将其作为全局变量放置在ready works之外。但这不是一个不寻常的做法吗?我已,javascript,canvas,html5-canvas,Javascript,Canvas,Html5 Canvas,e页面已加载。如果要使用new Image()动态拉入图像,则window.load不合适;您应该在图像触发各自的load事件后进行绘制。您可能对图像预加载程序感兴趣,例如,将其作为全局变量放置在ready works之外。但这不是一个不寻常的做法吗?我已经习惯于把所有jquery代码都放在里面准备好了,所以我会问!你会的,或者你正在努力!我正在本地尝试一个基本的例子,明天将尝试真实的东西!不走运,兄弟。把它作为一个全局变量,效果非常好!谢谢你,伙计!男人看到在通行证下方有一个封闭的卷曲括号(一


e页面已加载。如果要使用
new Image()
动态拉入图像,则
window.load
不合适;您应该在图像触发各自的
load
事件后进行绘制。您可能对图像预加载程序感兴趣,例如,将其作为全局变量放置在ready works之外。但这不是一个不寻常的做法吗?我已经习惯于把所有jquery代码都放在里面准备好了,所以我会问!你会的,或者你正在努力!我正在本地尝试一个基本的例子,明天将尝试真实的东西!不走运,兄弟。把它作为一个全局变量,效果非常好!谢谢你,伙计!男人看到在
通行证下方有一个封闭的卷曲括号(一角、宽度、高度)删除它尽管这是您的语法错误,因为您在代码中添加了一个额外的花括号!你会的,或者你正在努力!我正在本地尝试一个基本的例子,明天将尝试真实的东西!不走运,兄弟。把它作为一个全局变量,效果非常好!谢谢你,伙计!男人看到在
通行证下方有一个封闭的卷曲括号(一角、宽度、高度)删除它尽管这是您的语法错误,因为您在代码中添加了一个额外的花括号!一般来说,最好是将所有代码都放在就绪的内部。因此,在ready之外声明一个var通常是正确的?当使用jQuery时,您可以编写多个
$(document).ready()
事件处理程序,每个处理程序按顺序执行。因此,如果在第一个
$(document).ready()
事件处理程序中声明var dimes,那么在它之外将无法访问它。当然,如果您在一个
$(document).ready()
中执行所有操作,那么您是对的,它应该在函数的顶部声明(而不是在image.onload事件处理程序中声明)。也就是说,您还可以使用
$(document).data()方法来存储jQuery全局变量:通常情况下,最好是将所有代码都放在ready中。因此,在ready之外声明一个var通常是正确的?当使用jQuery时,您可以编写多个
$(document).ready()
事件处理程序,每个处理程序按顺序执行。因此,如果在第一个
$(document).ready()
事件处理程序中声明var dimes,那么在它之外将无法访问它。当然,如果您在一个
$(document).ready()
中执行所有操作,那么您是对的,它应该在函数的顶部声明(而不是在image.onload事件处理程序中声明)。也就是说,您还可以使用
$(document).data()方法存储jQuery全局变量:
$(document).ready(function(){
    //Canvas access, context reference etc here.
    //Since I'm assigning styles to the canvas on the fly, the canvas has no ht/wdt yet

    var dimes = '';
    var image = new Image();
    image.onload = function(){
        //Apply original image height/width as canvas height/width 'attributes'
        //(so that I can save the original sized image)
        //Check if the image is larger than the parent container
        //Calculate bounds if not
        //Apply calculated dimensions as 'style' height/width to the canvas, so that the image fits
        dimes = scaleImage(...);

        //Works!
        console.log(dimes);

        //Rest all code
    }

    image.src = '...';

    //Blank!!!
    console.log(dimes);

    //These all blank as well!!!
    jQuery('#mycanvas').height() / width() / css('height') / css('width');
    document.getElementById(canvas).style.height / .style.width / height / width;
});
$(document).ready(function(){

    var dimes = 0;
    var width = 20;
    var height = 30;

    pass(dimes, width, height);

});​

function pass(dimes, width, height) { 
         alert(dimes);
         alert(height);
         alert(width);
    }
$(document).ready(function() {
    var image = new Image();
    var dimes = "";

    image.onload = function() {
       dimes = scaleImage(...);
    };

    $(button).click(function() {
        if (dimes === "") {
           // image is not yet loaded
        } else {
            console.log(dimes);
        }
    });
});
$(document).ready(function() {
    var image;
    $(document).data("dimes", "");   // initializes it

    image.onload = function() {
        $(document).data("dimes", scaleImage(...));
    };
});
// some other code

$(document).ready(function() {
    $("#myButton").click(function() {
        var dimes = $(document).data("dimes");
        if (dimes === "") {
            // image not yet loaded
        } else {
            console.log(dimes);
        }
    });
});