如何在Javascript中使一组函数在另一组函数之后出现?
我目前有一块Javascript,作为我网站的介绍:如何在Javascript中使一组函数在另一组函数之后出现?,javascript,jquery,html,Javascript,Jquery,Html,我目前有一块Javascript,作为我网站的介绍: $('.welcome').fadeIn(500); }, 3600) setTimeout(function() { $('.welcome').fadeOut(500); }, 5100) setTimeout(function() { $('.quotable').fadeIn(800); }, 5600) setTimeout(function() {
$('.welcome').fadeIn(500);
}, 3600)
setTimeout(function() {
$('.welcome').fadeOut(500);
}, 5100)
setTimeout(function() {
$('.quotable').fadeIn(800);
}, 5600)
setTimeout(function() {
$('.quotable').animate({
"margin-top" : 0,
"font-size" : '20px'
}, 2000)
}, 6000)
setTimeout(function() {
$('.quotable').fadeOut(1500);
}, 7000)
我试图在完成后运行下一段代码,即主页:
$('.nav').fadeIn(1500)
$('#background').fadeIn(1500)
setTimeout(function() {
$('#background').fadeOut(1500);
}, 8000)
setTimeout(function() {
$('#background2').fadeIn(1500);
}, 8000)
我试着回电话,但没用
以下是HTML:
<div class="welcome">welcome to</div>
<div class="quotable">the quotable</div>
<div class = "images">
<div id="background">
<img src="Image1.jpg" alt="">
</div>
<div id="background2">
<img src="Image2.jpg" alt="">
</div>
</div>
<div class = "nav">
<ul>
<li class="left"><a href="#" class="quotes">Quotes</a>
<ul class="menu">
<li id="philosophy"><a href="#">Philosophy</a>
</li>
<li id="love"><a href="#">Love</a>
</li>
</ul>
</li>
<li class="right"><a href="#">About</a></li>
</ul>
</div>
请帮忙 您可以使用相对设置超时,如下所示:
$(element).fadeOut(1500, function() {
setTimeout(function() {
$(nextElement).fadeOut(500, function() ...
}, 500); //do next animation in .5 seconds
}
或者更好的是,您可以查看CSS3动画,甚至是承诺,比如这个问题:您可以使用相对设置超时,比如:
$(element).fadeOut(1500, function() {
setTimeout(function() {
$(nextElement).fadeOut(500, function() ...
}, 500); //do next animation in .5 seconds
}
或者更好的是,您可以查看CSS3动画,甚至是承诺,比如这个问题:您可以将另一个函数传递给jQuery effects,它在动画之后执行,我认为这比许多嵌套超时更干净
$("h1").fadeIn('slow', function() {
$("h2").fadeIn("slow", function() {
$("h3").fadeIn("slow");
});
});
您还可以使用这种方法为jQuery设置动画并传入回调 您可以将另一个函数传递给jQuery effects,该函数在动画之后执行,我认为这比许多嵌套超时更干净
$("h1").fadeIn('slow', function() {
$("h2").fadeIn("slow", function() {
$("h3").fadeIn("slow");
});
});
您还可以使用这种方法为jQuery设置动画并传入回调 与常规做法一样,我建议使用回调或承诺,这样函数在能够正常运行时就可以正常运行,并且您无需等待下一个触发器。我建议您使用超时,这对动画和用户体验非常有用。但是,如果您不将超时放在回调中,那么如果由于任何原因计时关闭,您可能会从一个函数出血到另一个函数 这是回调方法
step1(function (value1) {
step2(value1, function(value2) {
step3(value2, function(value3) {
step4(value3, function(value4) {
// Do something with value4
});
});
});
});
这就是承诺方法。(要实现工作承诺,您需要一个类似的图书馆)
与常规做法一样,我建议使用回调或承诺,这样函数在能够正常运行时就可以正常运行,并且您无需等待下一个触发器。我建议您使用超时,这对动画和用户体验非常有用。但是,如果您不将超时放在回调中,那么如果由于任何原因计时关闭,您可能会从一个函数出血到另一个函数 这是回调方法
step1(function (value1) {
step2(value1, function(value2) {
step3(value2, function(value3) {
step4(value3, function(value4) {
// Do something with value4
});
});
});
});
这就是承诺方法。(要实现工作承诺,您需要一个类似的图书馆)
setTimeout(…,{do normal stuff;call_next_sequence()}
,基本上。让第一批淡出的最后一步调用函数触发下一批。1990年的启动页回来了!JQuery动画有一个完整的回调。setTimeout(…,{do normal stuff;call_next_sequence()}
,基本上。让第一批淡入淡出调用函数的最后一步触发下一批。1990年的初始页面回来了!JQuery动画有一个完整的回调。