2013-08-31 4 views
6

In Fancybox 2.1.5 Ich möchte die Standardsteuerelemente durch meine benutzerdefinierten Tasten ersetzen (neue Preloader + schließen/next/prev Tasten auf Sprite).Wie können Standardeinstellungen durch benutzerdefinierte Schaltflächen in Fancybox 2.1.5 ersetzt werden?

Ich bin mir nicht sicher, wie man den css-Code richtig justiert. Ich habe versucht, das CSS as follows zu ändern, aber etwas stimmt nicht, das "nächste" Symbol erscheint in der oberen rechten Ecke statt der Schaltfläche "Schließen".

Sie können meinen Code auf this gist sehen.

Antwort

16

Keine Notwendigkeit zu Chaos mit der ursprünglichen CSS-Datei, verwenden Sie die tpl API-Option statt wie

$(".fancybox").fancybox({ 
    tpl: { 
     closeBtn: '<a title="Close" class="fancybox-item fancybox-close myClose" href="javascript:;"></a>' 
    } 
}); 

Hinweis, dass ich die Klasse hinzugefügt myClose so kann ich sein eigene spezifische CSS-Eigenschaften, Hintergrundbild festlegen usw. wie

.myClose { 
    height: 50px; 
    width: 50px; 
    background: #ff0000; 
} 

Siehe JSFIDDLE nur als Beispiel.

Machen Sie dasselbe für die vorherigen/nächsten Symbole. Überprüfen Sie die API documentation (search for tpl)

+0

Danke für die Tipps. Aber dieser Weg sieht viel komplizierter aus als nur das Bearbeiten der CSS-Datei, die klein und einfach genug ist. Fancybox Plugin wird in Prestashop verwendet. Ich weiß nicht, wofür die tpl-Datei benötigt wird. Das Ändern der Prestashop-Vorlage wird meiner Meinung nach komplexer sein. Ich habe jquery.fancybox.css Datei angepasst, es funktioniert nur wie erforderlich, Beispiel: http://codepad.org/NXqQL6a0. Ich bin mir bezüglich einiger Details nicht sicher: 'margin-top: -22px; Rand links: -22px; (Zeile 88,89) 'und' margin-top: -15px; (Zeile 137) '- Sind diese Werte mit der Originalgröße der Schaltflächen verknüpft oder unabhängig davon? – triwo

+1

@triwo am Tag, an dem Prestashop beschließt, fancybox zu aktualisieren, müssen Sie die css-Datei erneut anpassen. Deshalb ist es keine gute Idee, sich mit den Originaldateien zu befassen (aber es liegt an Ihnen) ... und 'tpl' ist keine Datei, ist eine Option, die Sie in Ihrem benutzerdefinierten fancybox-Initialisierungsskript verwenden, um zu überschreiben, was in der CSS-Datei, ohne sie zu ändern. – JFK

+0

Ich werde versuchen, benutzerdefinierte fancybox Initialisierung Skript, aber jetzt möchte ich nur mit CSS-Mods abschließen und Antworten auf meine Frage erhalten. – triwo

Verwandte Themen