jquery获取最后一个if值

时间:2010-08-31 05:16:37

标签: javascript jquery

我有这段代码,

$(function () {
    $.post("fetch_data.php?url="+$('#url').val(), { }, function(response){
        var arrValues = [ <?php echo $js_img_arr; ?> ]; //output from php

        $.each(arrValues, function( intIndex, objValue ) {
        var img = new Image(); //creating four Image Elements
            img.src = objValue;
            img.onload = function() {
            if(img.height > 100 && img.width > 200) {
                alert('height: ' + img.height + ' width: ' + img.width);
                //here
            }
            }
        });
    });
});

我是jquery / javascript的新手。

是否有可能获得最后加载了多少图像的值,比如10 img已经加载并满足高度/宽度标准,我想要加载10个图像的值。

谢谢。

2 个答案:

答案 0 :(得分:1)

$(function () {
    $.post("fetch_data.php?url="+$('#url').val(), { }, function(response){
        var arrValues = [ <?php echo $js_img_arr; ?> ]; //output from php
        var length = 0; //counter variable 

        $.each(arrValues, function( intIndex, objValue ) {
        var img = new Image(); //creating four Image Elements
            img.src = objValue;
            img.onload = function() {
               length++;   //Increment the counter  by One
               if(img.height > 100 && img.width > 200) {
                   alert('height: ' + img.height + ' width: ' + img.width);
               }
            }

            alert('Number of Images loaded : '+ length); //Total number of Images
        });
    });

答案 1 :(得分:0)

我认为var arrValues = [ <?php echo $js_img_arr; ?> ];不会起作用,因为它在$ .post方法的回调函数中。

中的代码
function(response){
  ....
}
只有在ajax请求完成且响应可用后才能执行

,可以使用'response'参数访问该响应。你可以决定你想要这个响应的形式(xml,json,html,text等),然后相应地创建数组arrValues

你的回答是什么?你在fetch_data.php文件中回应什么?