Haben Sie Ideen, wie Sie das Bildlaufleistenproblem umgehen können? Immer wenn eine Fancybox auf meiner Seite aktiviert wird, erzeugt sie während der Initialisierung eine Bildlaufleiste und blitzt dann wieder weg - aber das verschiebt die ganze Seite für einen Sekundenbruchteil. Nicht sehr elegant!Wenn eine Fancybox 2 aktiviert ist, blinkt eine Bildlaufleiste auf der übergeordneten Seite, wodurch der Inhalt nach links und wieder zurück verschoben wird.
Ist das ein Fehler mit Fancybox 2?
-Code verwendet Fancybox zu aktivieren:
$('map > area.fancybox').click(function(e) {
e.preventDefault();
var url = $(this).attr('href');
$.fancybox({
'href' : url,
closeBtn : true,
width : '467',
height : '609',
fitToView : false,
padding : '5',
openEffect : 'none',
closeEffect : 'none'
});
});
Gute Lösung, danke. Schade nur, dass ich das CSS mit einer Funktion modifizieren muss, um einen Fehler zu beheben! – JayDee
Ich glaube nicht, dass es sich um einen Fehler handelt (Sie müssten vorher mehr Elemente bereitstellen, um diese Aussage zu treffen). Es sollte Ihre eigene Seite css-Einstellungen sein (ein floating-Element zum Beispiel), dass, wenn fancybox an den 'body' angehängt wird, es eine zusätzliche Lücke in der Körperhöhe erzeugen kann, so dass die Bildlaufleisten erscheinen. Ich habe dieses Verhalten noch nie gesehen, daher ist die obige Problemumgehung sehr spezifisch. – JFK
Das funktioniert für mich, weil ich die 'overflow-y: scroll' Eigenschaft auf html/body wie OP wahrscheinlich hatte, aber Sie können immer noch die 2. Bildlaufleiste während des Effekts verschwinden sehen. Es wäre ideal, wenn es niemals erscheinen würde. http://jsfiddle.net/NVHWw/ – RCNeil