【发布时间】:2011-07-11 09:14:14
【问题描述】:
我有一个标题文本,我想将其淡入一个框中。 之后,字幕应在其下方淡入。 一旦两者都可见,它们应该淡出,下一组应该淡入,以相同的方式。
这是我创建的,但是,我怀疑它的运行情况,即浏览器是否占用大量 CPU。我关心的一个问题也是 Javascript 的递归深度。
我有以下代码(我也包含在 jsfiddle 中,以及 CSS 和 HTML http://jsfiddle.net/ukewY/1/)
var no = 3;
function fadeText(id) {
// Fade in the text
$("#text" + id).animate({
opacity: 1,
left: '+=50'
}, 5000, function() {
// Upion completion, fade in subtext
$("#subtext" + id).animate({
opacity: 1,
}, 5000, function() {
// Upon completion, fade the text out and move it back
$("#subtext" + id).animate({
opacity: 0,
}, 1000, function() {
$("#text" + id).animate({
opacity: 0,
left: '+=200'
}, 3000, function() {
// Yet again upon completion, move the text back
$("#text" + id).css("left", "19%");
$("#subtext" + id).css("left", "10%")
fadeText((id % no) + 1);
});
});
});
});
}
$(document).ready(function() {
fadeText(1);
});
我的问题是这是否是正确的做法;或者如果有更好的,也许是非递归的方式来做到这一点?
附言。因为这是一个网站的横幅,我不担心id 太大,因为人们可能从那以后继续前进。
【问题讨论】:
标签: jquery recursion correctness fading