2013-04-24 50 views

回答

1

$.fancybox.close()是正确的方法。我不明白的是为什么要内onComplete关闭的fancybox ......反正,这个工程:

$(document).ready(function() { 
    $(".fancybox").fancybox({ 
     "onComplete": function() { 
      // close fancybox after 3 seconds 
      setTimeout(function() { 
       $.fancybox.close(); 
      }, 3000) 
     } 
    }); 
}); 

JSFIDDLE

工程与onStart太...查看更新JSFIDDLE

+0

嗨,JFK再次非常感谢您的解决方案。它完美的工作。我测试了1秒,2秒... 9秒的延迟时间,但没有一个出现工作。我知道这个数字取决于机器。为什么你在setTimeout中放置$ .fancybox.close()?关于onComplete,我不必使用它。我只是在测试可以关闭Fancybox的位置,但实际上,我无法通过直接使用。$ fancybox.close()在onStart或onComplete中关闭它。 – curious1 2013-04-26 13:51:20

+0

@ curious1:我使用'setTimeout'来避免在处理程序实际使用它之前调用'$ .fancybox.close()'......也许这是你的问题。 – JFK 2013-04-26 16:05:26

+0

肯尼迪,谢谢你的解释!问候。 – curious1 2013-04-26 19:17:39