我在jquery中想将功能延迟5秒
$(target).slideDown("slow","linear", function(){
$(target).addClass('section-active');
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1000, 'easeInOutExpo', function() {
isScrolling = false;
startNano.go();
});
});
我如何实现
答案 0 :(得分:1)
内置javascript setTimeout。您也可以对jquery 1.4.0+使用.delay
方法。
check it out here
setTimeout方法看起来像这样:
$(target).slideDown("slow","linear", function(){
setTimeout(function(){
$(target).addClass('section-active');
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1000, 'easeInOutExpo', function() {
isScrolling = false;
startNano.go();
});
}, 5000); //5000 = 5 seconds
});
.delay
方法如下:
$(target).slideDown("slow","linear", function(){
$(target).addClass('section-active');
$('html, body').delay(5000).animate({
scrollTop: $(target).offset().top
}, 1000, 'easeInOutExpo', function() {
isScrolling = false;
startNano.go();
});
答案 1 :(得分:0)
使用setTimeout()
。它会在指定的毫秒数后调用函数或对表达式求值
$(target).slideDown("slow","linear", function(){
setTimeout(function(){
$(target).addClass('section-active');
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1000, 'easeInOutExpo', function() {
isScrolling = false;
startNano.go();
});
}, 5000); //5 seconds
});
答案 2 :(得分:0)
使用setTimeout()
函数
setTimeout(function(){
$(target).slideDown("slow","linear", function(){
$(target).addClass('section-active');
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1000, 'easeInOutExpo', function() {
isScrolling = false;
startNano.go();
});
});
},5000);
答案 3 :(得分:0)
您可以使用.delay(5000)(这是一种jQuery函数)在动画或回调事件之间链接延迟。
但是,由于(如果我已正确理解)您希望它在执行任何操作之前先等待,我们可以通过在请求它延迟然后将其结束之前放一个stop()来解决此问题。 / p>
$('html, body').stop(true, true).delay(5000).animate(...)