2010-08-09 23 views
4

我想繼續工作,使用FancyBox(jQuery插件)onStartonComplete方法的fancybox在onStart的onComplete狀態不工作

我似乎無法得到任何它爲我工作。你們有沒有知道我在做什麼錯了?

這是我現在想:

$(document).ready(function(){ 
    //top-menu highlight link 
    $(".photos").removeClass().addClass("active"); 
    $("a.fancybox").fancybox({ 
     'overlayShow' : true, 
     '0opacity'  : true, 
     'overlayOpacity': 0.6, 
     'onStart' : function(){ $("body").css('overflow','hidden');}, 
     'onComplete': function(){ $("body").css('overflow','auto');}   
    }); 
}); 

回答

0

試試這個:

$(document).ready(function(){ 
    $("a.fancybox").fancybox({ 
     'overlayShow' : true, 
     'opacity' : true, 
     'overlayOpacity': 0.6, 
     'onStart' : function(){ 
      $("body").css('overflow','hidden'); 
     }, 
     'onCleanup': function(){ 
      $("body").css('overflow','auto'); 
     } 
    }); 
}); 
4

的fancybox <版本2

自實施例(fancybox.net):

$("#various7").fancybox({ 
     onStart: function() { 
      return window.confirm('Continue?'); 
     }, 
     onCancel: function() { 
      alert('Canceled!'); 
     }, 
     onComplete: function() { 
      alert('Completed!'); 
     }, 
     onCleanup: function() { 
      return window.confirm('Close?'); 
     }, 
     onClosed: function() { 
      alert('Closed!'); 
     } 
    }); 

編輯:06-2015

的fancybox> = 2版

由實施例(fancyapps.com):與jquery 1.9.1

$("#various7").fancybox({ 
     onUpdate: function() { 
      alert('update!'); 
     }, 
     onCancel: function() { 
      alert('cancel!'); 
     }, 
     onPlayStart: function() { 
      alert('play start!'); 
     }, 
     onPlayEnd: function() { 
      alert('play end!'); 
     }, 
     beforeClose: function() { 
      alert('before close!'); 
     }, 
     afterClose: function() { 
      alert('after close!'); 
     }, 
     beforeShow: function() { 
      alert('before show!'); 
     }, 
     afterShow: function() { 
      alert('after show!'); 
     }, 
     beforeLoad: function() { 
      alert('before load!'); 
     }, 
     afterLoad: function() { 
      alert('after load!'); 
     } 
    }); 
0

的fancybox在onStart的onComplete狀態不工作的工作試試jquery 1.6.4。

9

我也試圖讓在onStart工作...

我的fancybox v2.1.5,但是當我在javascript文件做「在onStart」搜索它沒有找到。當我搜索「.trigger」我發現:‘beforeLoad

也許這可以幫助別人,在我而言,這是我需要的:)

我也看到有一個「onReady'觸發某處可以使用,而不是'onComplete'我猜!

P.S.我這樣使用它

$("a.popup").fancybox({ 
    beforeLoad: function() { 
     return window.confirm('Continue?'); 
    } 
}); 
+0

謝謝你,我用beforeLoad取代了onStart,它對我很有用。謝謝! – 2014-02-12 06:14:29

+1

如果你使用v2.1.5,你應該諮詢fancybox2的文檔http://fancyapps.com/fancybox – 2014-04-22 12:50:42

+0

謝謝你,你救了我...... – 2015-12-02 11:32:16

2

請注意,fancybox2中的回調方法不同。它使用beforeLoad,afterShow等。請參閱fancybox2的文檔here