JQuery-为每个有类的img元素添加css

时间:2012-04-24 09:51:57

标签: jquery

$(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()s之上保持一些警报,则执行流程在两个条件下进入。我帮帮我。 如何逐行执行jquery语句..

1 个答案:

答案 0 :(得分:3)

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

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

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