2012-05-30 5 views
6

Aus irgendeinem Grund wird die Funktion onComplete nicht ausgeführt. Es lädt jedoch die fancybox div. Meine html:Fancybox onComplete-Funktion läuft nicht

<ul> 
    <li class="orange"> 

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

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

    </li> 
</ul> 

Mein jquery:

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

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

die Warnung nicht ausgeführt. Ich habe auch versucht, die Ereignisfunktion auf onClosed und die anderen Ereignisse und nichts zu ändern.

+0

haben Sie darüber nachgedacht? http://jsfiddle.net/3Nf4c/ – JFK

+0

das ist die Lösung für fancybox 2 http://stackoverflow.com/questions/10295746/fancybox-2-height-not-working –

Antwort

0

scheint wie Typo

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

, die nicht funktioniert, Ja, es lädt den Alarm, aber die BG-Farbe ändert sich nicht – Nicola

+0

onComplete Funktion funktioniert richtig? Sie sagen, es lädt die Warnung. aber Sie möchten '.fancycox-Haut' Hintergrundfarbe ändern? Könnten Sie die Site-Link – agriboz

+0

bieten Ich fand '.fancybox-Haut-Selektor in jquery.fancybox-1.3.4.css – agriboz

16

Ich denke, Sie angeben, vergessen, welche Version von fancybox Sie verwenden.

onComplete ist eine Callback-Option für fancybox V1.3.x während die fancybox-skinKlasse bis Version 2.x, eingeführt wurde ..... so gehe ich davon aus, dass Sie Version 2.x verwenden, sind nicht Du?

Fancybox v2.x Optionen sind neu und nicht kompatibel mit früheren Versionen; Das Äquivalent für die Option onComplete (v1.3.x) ist jetzt die afterLoad (v2.x) -Rückrufoption.

prüfen http://fancyapps.com/fancybox/#docs für die vollständige Liste der Optionen, Methoden und Rückrufe für fancybox v2.x

+0

danke dafür. Ich habe hier gesucht - http://fancybox.net/ ist das dann eine andere Fancybox? – Nicola

+0

Es ist im Grunde das gleiche Plugin (und der gleiche Autor), aber Version 1.x und 2.x haben verschiedene Webseiten wegen ihrer verschiedenen Funktionen und Lizenzpläne. Bitte vergessen Sie nicht, diese Antwort als korrekt zu markieren, wenn Sie es für richtig halten. Vielen Dank. – JFK

+2

Eigentlich wäre 'afterShow' sinnvoller, wenn Sie irgendwelche Ereignisse hinzufügen möchten. 'afterLoad' feuert, sobald es geladen werden kann _before_ es zeigt überhaupt nichts –

2

Fancybox Version 2 nicht onComplete unterstützen. Es verwendet 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 Ich denke, ist die richtige entspricht onComplete in Fabxybox 2

+0

Das war die richtige Antwort für mich. Ich habe eine Bildkarte zu einer Folie aus einem Satz hinzugefügt. 'afterShow' hat den Job wie geplant erledigt. 'afterLoad' war nicht das richtige Ereignis, um dieses Attribut hinzuzufügen:' $ ('. fancybox-image') .attr ('usemap', '#Map'); ' – jerrygarciuh