23-解决方案
7.5.2 解决方案
本解决方案使用本章开篇时概述的标准模板,例外之处是在页面上有 div.box 元素的多个副本。这一解决方案设计为可以处理任何数量(从一个到许多个)的 div.box 元素,因为自动序列解决方案能够应对所有元素。
1.手动回调
应用连续特效的基本方法是使用回调。如果下一个特效与第一个特效不同也可以采用这种方法:
$(document).ready(function () {
var $boxes = $('.box').hide();
$('#animate').click(function () {
$boxes.eq(0).fadeIn('slow', function () {
$boxes.eq(1).slideDown('slow');
});
});
});
2.自动序列
另一种方法是根据Dave Methvie的解决方案,可以在任何数量的元素上按照顺序重复执行特效:
$(document).ready(function () {
var $boxes = $('.box').hide(),
div = 0;
$('#animate').click(function () {
$($boxes[div++] || []).fadeIn('slow', arguments.callee);
});
});