我一直在尝试使用网站上发现的建议来解决我的问题的不同方法,但无法使其发挥作用。
需要在最后一个图像淡入后触发一个功能,并且我发现的每个工作解决方案都是在图像淡入之前触发的,只要我点击触发器'btn。 这是我一直在研究的代码。希望它得到很好的解释,有人可以指出我正确的方向,无论是使用此代码还是采用不同的路线。
的jQuery
function logosOn() {
$('.sections img').each(function(i) {
$(this).delay((i++) * 200).fadeTo(500, 1);
});
}
$('#logo').click(function(){
logosOn()
});
HTML
<img src="logo-big.png" alt="" id="logo" />
<div class="sections">
<img src="logo-interiorismo.png" alt="" />
<img src="logo-arquitectura.png" alt="" />
<img src="logo-arte.png" alt="" />
</div>
答案 0 :(得分:0)
使用.promise()。
$('#logo').click(function(){
logosOn();
$('.sections img').promise().done(foo);
});
.promise([type] [,target])
退货:承诺
描述:返回一个Promise对象,观察a的所有动作 某个绑定到集合的类型,排队与否,已完成。
答案 1 :(得分:0)
Promise应该在这里帮助你:
var defs = [];
$('.sections img').each(function(i) {
defs.push( $(this).delay((i++) * 200).fadeTo(500, 1).promise() );
});
$.when.apply(null, defs).then(function() {
// Your callback here!
});
这是一个正在运行的演示:http://jsbin.com/UCukiN/3/edit