我正在尝试根据元素的高度设置动画触发器。该项目是使用AngularJS构建的,但我遇到的问题似乎真的很奇怪。我正在尝试在图像加载时设置imgH变量。在我的onload函数中,日志返回正确的图像高度并设置全局变量imgH。在我的onload函数之后,console log命令返回imgH = undefined
var imgH;
$('.step-image').on('load',function(){
imgH = $(this).height();
console.log(imgH);
});
console.log(imgH);
答案 0 :(得分:2)
变量已设置完毕,当你最后console.log
完成时,尚未设置。
以下是代码运行的顺序:
var imgH;
- 创建初始值为undefined
。$('.step-image').on('load', function ...)
- 设置处理程序,但尚未调用该函数。console.log(imgH);
(位于底部) - 显示undefined
,因为尚未为imgH
分配值。imgH
。console.log(imgH);
(在处理函数内) - 显示值。