如何返回我在jQuery加载函数中得到的变量?

时间:2016-02-03 08:24:02

标签: javascript jquery

我正在使用jQuery加载函数来获得img的真实宽度,就像这样

function getWidth(src){
    var _src = src;
    var pic_real_width;
    $("<img/>")
        .attr("src", _src)
        .load(function() {
            pic_real_width = this.width;
        });
    return pic_real_width;//it will be undefined
}

如何获得&#34; pic_real_width&#34;?

的真实价值

2 个答案:

答案 0 :(得分:4)

你需要一个回调:

function getWidth(src, callback){
    var _src = src;
    $("<img/>")
        .attr("src", _src)
        .load(function() {
            callback(this.width);
        });
}

getWidth('your_pic_src', function (pic_real_width) {
    console.log(pic_real_width);
});

答案 1 :(得分:0)

请尝试以下

function getWidth(src,widthfunction) {
        var _src = src;
        var pic_real_width;
        $("<img/>")
       .attr("src", _src)
       .load(function () {
           pic_real_width = this.width;
           GetPicWidth(pic_real_width);
       });

              }

    function GetPicWidth(width) {

        console.log(width);
        //do code with width

    }

    $(document).ready(function () {
        getWidth("//cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png?v=c78bd457575a", GetPicWidth);
     });