0
$(document).ready(function() {
    $("img.resizeImage").each(function(){
        var img = $(this); 
        var width = $(this).width();    // Current image width
        var height = $(this).height();  // Current image height
       // alert("give image size ....."+width+", "+height);
        var pic_real_width, pic_real_height;
        $("<img/>").attr("src", $(img).attr("src"))
            .load(function() {
                pic_real_width = this.width;  
                pic_real_height = this.height; 

            });

        if(pic_real_width < width  ){
            //alert("display original width.sssss 103..");
            $(this).removeAttr("width");
            $(this).css("width",pic_real_width);
        }

        if( pic_real_height < height ){
            //alert("display original height ss.102..");
            $(this).removeAttr("height");
            $(this).css("height",pic_real_height);
        }
    });
});

在上面的 jquery 执行流程中,如果条件没有达到最后。我没有获得想要的结果。如果我在两个 if() 之上保持一些警报,那么执行流程将进入两个 if 条件。请帮帮我。如何逐行执行jquery语句..

4

1 回答 1

3

您的图像加载是异步的,这意味着.load不会立即调用回调。

因此pic_real_widthpic_real_height在您尝试使用它们时是未知的。

也许您应该将这两个条件移到回调函数中?

于 2012-04-24T09:53:54.373 回答