如何延迟启动功能

时间:2015-05-28 11:46:31

标签: jquery

我没有“超时”的经验。我点击了这两个步骤:

close_layer();
$.fn.fullpage.moveTo(8);

我首先想要在这两个动作之间延迟例如1000。我尝试使用delaysetTimeout,但似乎我不知道如何正确使用这些。

我试过了:

close_layer().delay(1000);
$.fn.fullpage.moveTo(8);

//or 

close_layer();
setTimeout(1000);
$.fn.fullpage.moveTo(8);

使用延迟我没有任何问题,而我尝试动画。对我来说很恼火的是我使用的插件生成的$.fn.fullpage。开头的$是什么意思?它会替换$('this')之类的内容还是global函数的标记?

3 个答案:

答案 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);
}