我在这里有一个名为checkURL的布尔函数,用于检查图片是否有100 x 100像素。如果是这样,它返回true。函数中有一个异步调用来检查图像的大小。
function checkURL(url, callback) {
var valid;
var img = new Image();
img.src = url;
img.onload = function (callback) {
valid = callback(img.width, img.height);
};
console.log(valid);
return valid;
}
function nextStep(w, h) {
if (w == 100 && h == 100) {
return true;
} else {
return false;
}
}
var pic_valid = checkURL(a_url, nextStep);
我收到错误:
未定义回调
ADDITIONAL EDIT:如果我添加console.log(有效);在返回有效之前我得到了未定义。这是预期的吗?
答案 0 :(得分:1)
您可以在此处定义回调:
function checkURL(url, callback) {
然后你在这里重新定义它:
img.onload = function(callback){
...它掩盖了你实际赋值的变量。
不要掩饰它:img.onload = function(){
答案 1 :(得分:0)
只需更改此行:
img.onload = function(){
到此:
callback
因为您在新范围内创建了新的#myDiv {
position: absolute;
z-index: 10;
}
,并且您不需要它。