Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 19.09.2011, 15:09
vincento vincento ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 19.09.2011
Beiträge: 12
vincento befindet sich auf einem aufstrebenden Ast
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!
Mit Zitat antworten
Sponsored Links