我有这段代码,
$(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个图像的值。
谢谢。
答案 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文件中回应什么?