2012-05-30 80 views
6

由於某些原因,它只是沒有運行onComplete功能。它確實加載了fancybox div。我的HTML:Fancybox onComplete功能未運行

<ul> 
    <li class="orange"> 

      #1 <a href="#text">click here</a> 

      <div id="text" class="text">text text text</div> 

    </li> 
</ul> 

我的jQuery:

jQuery('li a').fancybox({  
    'autoDimensions': 'false', 
    'width' : 631, 
    'height': 256,   
    'onComplete':function(){ 

     alert('running'); 
     jQuery('.fancybox-skin').css('background-color',colour); 
    } 
}); 

警報不運行。我也嘗試將事件功能更改爲onClosed和其他事件,但沒有任何內容。

+0

你考慮? http://jsfiddle.net/3Nf4c/ – JFK

+0

這是對的fancybox 2 http://stackoverflow.com/questions/10295746/fancybox-2-height-not-working –

回答

0

好像錯字

jQuery('#tips li a').fancybox({  
'autoDimensions': 'false', 
'width' : 631, 
'height': 256,   
'onComplete':function(){ 

    alert('running'); 
    jQuery('.fancybox-skin').css('background-color',colour); // colour to 'red' for example. typo 
} 
}); 

Working example

+0

不起作用的解決方案,是的,它加載警報,但BG顏色不會改變 – Nicola

+0

onComplete功能是否正常工作?你說它加載警報。但你想改變'.fancybox-skin'背景顏色?你能提供網站鏈接 – agriboz

+0

我沒有找到'.fancybox-skin'選擇器在jquery.fancybox-1.3.4.css – agriboz

16

我想你忘了指定你使用的是什麼版本的fancybox的。

onComplete是的fancybox v1.3.x回調選項,而fancybox-skin引入到2.x版,.....所以我假設你正在使用2.x版本,不您?

Fancybox v2.x選項是新的,不兼容以前的版本; onComplete(v1.3.x)選項的等效項現在是afterLoad(v2.x)回調選項。

檢查http://fancyapps.com/fancybox/#docs的選項,方法和回調的fancybox V2.X

+0

謝謝你。我在看這裏 - http://fancybox.net/是一個不同的fancybox呢? – Nicola

+0

它基本上是相同的插件(和同一作者),但版本1.x和2.x有不同的網頁,因爲它們的不同功能和許可證計劃。如果你認爲這個答案是正確的,請不要忘記標記這個答案。謝謝。 – JFK

+2

實際上,如果您計劃添加任何事件,'afterShow'會讓您更有意義。 'afterLoad'在它準備好加載_before_之後立即啓動_before_它顯示了任何內容 –

2

的fancybox 2版不支持onComplete的完整列表。它使用afterLoad

jQuery('#tips li a').fancybox({  
    'autoDimensions': 'false', 
    'width' : 631, 
    'height': 256,   
    afterLoad:function(){ 

     alert('running'); 
     jQuery('.fancybox-skin').css('background-color',colour); // colour to 'red' for example. typo 
    } 

}); 
6

afterShow我認爲是正確的相當於onComplete在Fabxybox 2

+0

這是我的正確答案。我正在將一張圖像映射添加到一張幻燈片中。 「afterShow」完成了預期的工作。 'afterLoad'不是添加此屬性的正確事件:'$('。fancybox-image')。attr('usemap','#Map');'' – jerrygarciuh