我尝试在img元素加载完成后才加载另一个元素,但我已经尝试了所有我能想到的方法,但都没有成功。现在我正在尝试找出代码停止工作的地方,我发现我设置的警告框在我需要执行代码的那一行之后没有运行。
$img = $('#picture');
function bubbleOnLoad() {
$(document).ready(function() {
$img.load(function(){
alert('document loaded')
$('#left-bubble').show();
})
})
$img在一个函数内被定义。警告在document.ready行工作,但不是在$img.load之后。我尝试添加事件侦听器、jquery .on、.load和一堆其他方法。我也调用函数在我的init函数中运行。有人能解释一下为什么什么都不起作用吗?
function choosePic()
$('.speechbubble').hide();
$('#picture').remove();
var randomNum = Math.floor(Math.random() * samplePics.length);
var img = new Image();
img.onload = function() {
$('.playing-field').prepend(img);
handleImageLoad();
}
img.src = samplePics[randomNum];
img.id = "picture";
}
var samplePics =
"assets/images/barack-obama.jpg",
"assets/images/donald-trump_3.jpg",
"assets/images/dt-2.jpg",
"assets/images/bill-clinton.jpg",
"assets/images/Rose-Byrne.jpg",
"assets/images/pic.jpeg",
"assets/images/priest.jpg",
"assets/images/tb.jpg",
"assets/images/test.jpg",
"assets/images/amy-poehler.jpg",
"assets/images/stephen-colbert.jpg",
"assets/images/aziz-ansari.jpg"
];