Laden von Inline-Inhalten mit Fancybox in WordPress

Lesezeit: 2 Minuten

Benutzer-Avatar
akshitsethi

Ich versuche, Inline-Inhalte mit Fancybox in eine benutzerdefinierte WordPress-Seitenvorlage zu laden. Die Lightbox wird angezeigt, zeigt jedoch den folgenden Fehler anstelle des Inline-Inhalts an.

Der Fehler: “Der angeforderte Inhalt kann nicht geladen werden. Bitte versuchen Sie es später erneut.”

Hier ist das Javascript, das ich verwende:

$(document).ready(function($) {
    $('a[href="#contact"]').fancybox({
        helpers: {
            overlay: {
                opacity: 0.98,
                css: { 'background-color': '#fff' }
            }
        }
    });
});

Hier ist das HTML, das ich mit der Fancybox anzeigen möchte.

<a href="#contact">Inline content over here.</a>

Bitte beachten Sie, dass ich versuche, dies in einer benutzerdefinierten WordPress-Seitenvorlage zu erledigen. Jede Hilfe wird sehr geschätzt.

  • Welche Version von Fancybox verwendest du?

    – Jimp

    16. September 2012 um 16:48 Uhr

  • Ich verwende die neuste Version der Fancybox. Es ist 2.1 meiner Meinung nach.

    – akshisethi

    19. September 2012 um 23:01 Uhr

Benutzer-Avatar
AlexC

Sie müssen Ihr HTML ändern:

HTML:

 <a href="#contact">Inline content over here.</a>
 <div id="contact" style="display:none">Inline content over here</div>
    ​

Beispiel: http://jsfiddle.net/fU54x/839/

Wenn Sie denselben HTML-Code beibehalten und nur Inhalte aus dem anzeigen möchten <a> Tag müssen Sie das Lightbox-Skript in diesem Modus ändern:

Gleiches HTML:

<a href="#contact">Inline content over here.</a>

JS:

$('a[href="#contact"]').click(function(){
    var $this = $(this);
  $.fancybox({
        helpers: {
            overlay: {
                opacity: 0.98,
                css: { 'background-color': '#fff' }
            }
        },
      content: $this.html()
    });
});

Ich habe das Beispiel auch aktualisiert:

Klick hier : http://jsfiddle.net/fU54x/840/

  • Ich wusste nicht, dass Fancybox internen URLs folgen würde. Nett! Meins funktioniert auch, aber Ihr erstes Beispiel, das dies nicht erfordert content Argument wie meins ist sauberer IMO. Ich mag das.

    – Jimp

    16. September 2012 um 17:06 Uhr


Versuchen Sie es mit der inhaltliches Argument zu Fancybox.

$(document).ready(function($) {
    var inlineContent = $('#inlineContent').html();
    $('a[href="#contact"]').fancybox({
        content: inlineContent,
        helpers: {
            overlay: {
                opacity: 0.98,
                css: { 'background-color': '#fff' }
            }
        }
    });
});

Auszeichnung:

<a href="#contact">Link</a>
<div id="inlineContent" style="display:none;">Inline content over here.</div>

1250740cookie-checkLaden von Inline-Inhalten mit Fancybox in WordPress

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy