我没有“超时”的经验。我点击了这两个步骤:
close_layer();
$.fn.fullpage.moveTo(8);
我首先想要在这两个动作之间延迟例如1000。我尝试使用delay
和setTimeout
,但似乎我不知道如何正确使用这些。
我试过了:
close_layer().delay(1000);
$.fn.fullpage.moveTo(8);
//or
close_layer();
setTimeout(1000);
$.fn.fullpage.moveTo(8);
使用延迟我没有任何问题,而我尝试动画。对我来说很恼火的是我使用的插件生成的$.fn.fullpage
。开头的$
是什么意思?它会替换$('this')
之类的内容还是global
函数的标记?
答案 0 :(得分:1)
setTimeout
是一个辅助功能。你应该像这样使用它:
setTimeout(function(){
$.fn.fullpage.moveTo(8);
}, 1000);
如果您想确保close_layer();
功能结束。您应该为此函数添加一个回调并在之后调用它:
function close_layer(callback){
...
callback();
}
function callback(){
$.fn.fullpage.moveTo(8);
}
...或者您甚至可以尝试使用Promise
close_layer().then(function(){
$.fn.fullpage.moveTo(8)
});
答案 1 :(得分:0)
在设定超时结束后调用该功能
setTimeout( function() {
$.fn.fullpage.moveTo(8)
},1000);
答案 2 :(得分:0)
尝试使用回调
close_layer(callback);
在close_layer函数中的确保你像最后一样调用回调函数
callback();
function callback(){
setTimeout(function() {
$.fn.fullpage.moveTo(8);
},1000);
}