PCMasters Hardware Forum > Software > GFX, Webdesign und Programmierung > Seite 3 > jQuery Lightbox Overlay

Im PC Forum registrieren


Produktsuche
IDEALO-PRODUKT-SUCHE
idealo preisvergleich
PCM News & Reviews
Antwort
 
 
Alt 19.09.2011, 14:24
Benutzerbild von Brainweaver
Threadersteller
Brainweaver
 
Standard

jQuery Lightbox Overlay



Hallo,

ich möchte ein eigenes Lightbox-Script bauen, was nicht ganz klappt.

Das Overlay funktioniert, das Href des IMG wird übergeben und in der zentrierten Overlay Box wird ein IMG generiert, das auch noch (von einem Plugin) vorgeladen wird, damit jQuery widerum die Größe etc. auslesen kann.

Allerdings ist irgendwo der Wurm drin und wenn man nochmals auf ein Bild klickt, so wird die Box nicht mehr richtig zentriert.

Hier ist meine lightbox.js:
Code:
$.fn.lightBox = function() {
    
    $(this).click(function(){
        $("#overlay_box").addClass("loadingPic");
        var windowWidth = $(window).width();
        var windowHeight = $(window).height();
        var boxHeight = $("#overlay_box").height()/2;
        var boxWidth = $("#overlay_box").width()/2;

        var imgSrc = $(this).attr("href");
        $("#overlay_box").empty().html("<img src='"+imgSrc+"' />").css({
            "left":windowWidth/2-boxWidth,
            "top":windowHeight/2-boxHeight
        });
        $("#overlay_box").children("img").css({
            "display":"none",
            "max-width":windowWidth-50,
            "max-height":windowHeight-50
        }).onImagesLoaded(function(_img){
            $(_img).fadeIn(1000);
            var boxHeight = $("#overlay_box").height()/2;
            var boxWidth = $("#overlay_box").width()/2;
            $("#overlay_box").css({
                "left":windowWidth/2-boxWidth,
                "top":windowHeight/2-boxHeight
            }).removeClass("loadingPic");
        });
        
        $('#overlay_wrap').fadeIn('fast');
        return false;
    });

    $('#overlay').click(function(){
        $('#overlay_wrap').fadeOut('fast');
    });

};


$(document).ready(function(e) {
    $("a").has("img").lightBox();    
});
Bin noch neu in jQuery und hoffe, jemand hat den Durchblick und kann mir da helfen

Tipps und Kritik an meinem Stil werden gern gesehen!

Edit: Hat sich schon erledigt. Anstelle von .onImagesLoaded() habe ich einfach .load() verwendet und es funktioniert.

Geändert von Brainweaver (21.09.2011 um 16:07 Uhr).
Alt Heute
Hardware Bot
Computer Informationen
 
Diese Werbung wird registrierten
Mitgliedern nicht angezeigt.
Werden Sie noch heute kostenlos Mitglied
auf PCMasters.de
Standard Weitere Informationen

hardware forum Neue Frage stellen?
Kurze Zusammenfassung der Frage:
Bitte wählen Sie eine Kategorie:
Mailadresse:
Ihre Frage:
Ihre Frage wird als Gast gespeichert. Sollte eine Antwort im Forum erfolgen, bekommen Sie diese per Email zugeschickt.


Antispam, bitte die folgende Aufgabe lösen: 
 
Um auf dieses Thema zu ANTWORTEN
bitte sich zuerst » hier kostenlos registrieren!!

Antwort

Tags: , ,

Ähnliche Tags: , , ,


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ist JQuery besser als Flash? templater1 GFX, Webdesign und Programmierung 3 12.01.2011 09:28
Grafikkarte Defekt/Kaputt ?? Silence87 Hardware Allgemein 5 24.05.2008 22:12
Lightbox 2 benutzen Icke GFX, Webdesign und Programmierung 2 26.02.2008 19:25
ATI HD2600Pro Overlay Problem. NeuKasselER Grafikkarten 2 14.12.2007 15:49


Sie betrachten gerade: jQuery Lightbox Overlay


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.



Im PC Forum registrieren