【发布时间】:2015-08-04 20:46:45
【问题描述】:
我只在加载了 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"
];
【问题讨论】:
-
img 是通过 JavaScript 动态加载的吗?还是使用 img html 标签?
-
您是否阅读过文档,尤其是“与图像一起使用时加载事件的注意事项”api.jquery.com/load-event
-
你为什么将它包装在bubbleOnLoad函数中?那个函数被调用过吗?
-
为什么函数bubbleOnLoad里面有一个$(document).ready(function()?这对我来说似乎很奇怪......
-
牙套不平衡,这可能没有帮助。
标签: javascript jquery html