basti1012.bplaced.net

Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
    Hallo liebe Gemeinde, auf meiner Homepage möchte ich eine photo-gallery mittels light Box einbinden. Dazu habe ich folgendes JS - schnipsel gefunden: Quelle: <a href="https://codepen.io/sidtheangel/pen/ONRKZa">https://codepen.io/sidtheangel/pen/ONRKZa</a> Das hat so weit auch ganz gut funktioniert. Weiters würde ich gerne noch 2 Funktionen hinzufügen. 1: der User soll sich mit dem Cursor - tasten (links & rechts) durch die Bilder „klicken“ können. 2: mit der ESC - tasten soll die light Box geschlossen werden. (so, als würde man auf das X klicken..) da ich allerdings keine Ahnung von JS habe und mal schwer vermute, irgendetwas im *.js file dafür verändern/hinzufügen zu müssen, wollte ich mich an euch wenden. danke schonmal für eure antworten! liebste grütze & ein fröhliches neues jahr wünschend, medhusa

    Code

                                        
                                    <ul>
    		<li><a href="/image/10_big.jpg" data-imagelightbox="c"><img src="/image/10.jpg" alt="Countryside somewhere in Lithuania" /></a></li>
    		<li><a href="/image/11_big.jpg" data-imagelightbox="c"><img src="/image/11.jpg" alt="Storm in Klaipeda" /></a></li>
    		<li><a href="/image/12_big.jpg" data-imagelightbox="c"><img src="/image/12.jpg" alt="Sunset over Plateliai lake" /></a></li>
    	</ul>
      <style>
    		html
    		{
    			/* killing 300ms touch delay in IE */
    			-ms-touch-action: manipulation;
    			touch-action: manipulation;
    		}
    
    		body
    		{
    			font-family: 'Fjalla One', sans-serif;
    			color: #333;
    			background-color: #efefef;
    		}
    
    
    		.is-hidden
    		{
    			display: none;
    		}
    
    		.btn
    		{
    			text-transform: uppercase;
    			color: #efefef;
    			background-color: #333;
    			padding: 0.313em 0.625em; /* 5 10 */
    		}
    			.btn:hover,
    			.btn:focus	{ background-color: #c00; }
    			.btn:active	{ background-color: #a00; }
    
    
    		#container
    		{
    			width: 41.25em; /* 660 */
    			text-align: center;
    			padding: 0 1.25em; /* 20 */
    			margin: 3.125em auto 6.25em; /* 50 100 */
    		}
    			#container h1
    			{
    				font-size: 2.125em; /* 34 */
    				line-height: 0.882em; /* 30 (34) */
    				text-transform: uppercase;
    			}
    				#container h1 span
    				{
    					font-size: 0.588em; /* 20 (34) */
    					line-height: 1em; /* 20 (20) */
    					color: #aaa;
    					display: block;
    				}
    				#container h1 a:hover span,
    				#container h1 a:focus span { color: #333; }
    
    			#container h2
    			{
    				border-top: 1px solid #ddd;
    				padding-top: 1.875em; /* 30 */
    				margin-top: 1.875em; /* 30 */
    				margin-bottom: 0.625em; /* 10 */
    			}
    				#container h2 span
    				{
    					color: #666;
    				}
    				#container h2[data-caption]:before
    				{
    					font-size: 0.875rem;
    					font-weight: 300;
    					color: #fff;
    					background-color: #c00;
    					display: inline-block;
    					content: attr( data-caption );
    					padding: 0.125rem 0.313rem; /* 2 5 */
    					margin-right: 0.625rem; /* 10 */
    
    					-webkit-transform: rotate( -8deg );
    					-ms-transform: rotate( -8deg );
    					transform: rotate( -8deg );
    				}
    
    			#container ul
    			{
    			}
    				#container li
    				{
    					display: inline-block;
    					margin: 0.625em; /* 10 */
    				}
    					#container img
    					{
    						width: 8.75em; /* 140 */
    						height: 8.75em; /* 140 */
    						border-color: #eee;
    						border: 0.625em solid rgba( 255, 255, 255, .5 ); /* 10 */
    
    						-webkit-box-shadow: 0 0 0.313em rgba( 0, 0, 0, .05 ); /* 5 */
    						box-shadow: 0 0 0.313em rgba( 0, 0, 0, .05 ); /* 5 */
    
    						-webkit-transition: -webkit-box-shadow .3s ease, border-color .3s ease;
    						transition: box-shadow .3s ease, border-color .3s ease;
    					}
    						#container img:hover,
    						#container img:focus
    						{
    							border-color: #fff;
    
    							-webkit-box-shadow: 0 0 0.938em rgba( 0, 0, 0, .25 ); /* 15 */
    							box-shadow: 0 0 0.938em rgba( 0, 0, 0, .25 ); /* 15 */
    						}
    
    		footer
    		{
    			font-size: 0.875em; /* 14 */
    			color: #aaa;
    			border-top: 1px solid #ddd;
    			padding-top: 2.143em; /* 30 (14) */
    			margin-top: 2.143em; /* 30 (14) */
    		}
    			footer a		{ color: #666; }
    			footer a:hover,
    			footer a:focus	{ color: #333; }
    #imagelightbox{
    			cursor: pointer;
    			position: fixed;
    			z-index: 10000;
    			touch-action: none;
    			box-shadow: 0 0 3.125em rgba( 0, 0, 0, .75 ); /* 50 */
    		}
    
    		#imagelightbox-loading,
    		#imagelightbox-loading div
    		{
    			border-radius: 50%;
    		}
    		#imagelightbox-loading
    		{
    			width: 2.5em; /* 40 */
    			height: 2.5em; /* 40 */
    			background-color: #444;
    			background-color: rgba( 0, 0, 0, .5 );
    			position: fixed;
    			z-index: 10003;
    			top: 50%;
    			left: 50%;
    			padding: 0.625em; /* 10 */
    			margin: -1.25em 0 0 -1.25em; /* 20 */
    
    			-webkit-box-shadow: 0 0 2.5em rgba( 0, 0, 0, .75 ); /* 40 */
    			box-shadow: 0 0 2.5em rgba( 0, 0, 0, .75 ); /* 40 */
    		}
    			#imagelightbox-loading div
    			{
    				width: 1.25em; /* 20 */
    				height: 1.25em; /* 20 */
    				background-color: #fff;
    
    				-webkit-animation: imagelightbox-loading .5s ease infinite;
    				animation: imagelightbox-loading .5s ease infinite;
    			}
    
    			@-webkit-keyframes imagelightbox-loading
    			{
    				from { opacity: .5;	-webkit-transform: scale( .75 ); }
    				50%	 { opacity: 1;	-webkit-transform: scale( 1 ); }
    				to	 { opacity: .5;	-webkit-transform: scale( .75 ); }
    			}
    			@keyframes imagelightbox-loading
    			{
    				from { opacity: .5;	transform: scale( .75 ); }
    				50%	 { opacity: 1;	transform: scale( 1 ); }
    				to	 { opacity: .5;	transform: scale( .75 ); }
    			}
    
    
    		/* OVERLAY */
    
    		#imagelightbox-overlay
    		{
    			background-color: #fff;
    			background-color: rgba( 255, 255, 255, .9 );
    			position: fixed;
    			z-index: 9998;
    			top: 0;
    			right: 0;
    			bottom: 0;
    			left: 0;
    		}
    
    
    		/* "CLOSE" BUTTON */
    
    		#imagelightbox-close
    		{
    			width: 2.5em; /* 40 */
    			height: 2.5em; /* 40 */
    			text-align: left;
    			background-color: #666;
    			border-radius: 50%;
    			position: fixed;
    			z-index: 10002;
    			top: 2.5em; /* 40 */
    			right: 2.5em; /* 40 */
    
    			-webkit-transition: color .3s ease;
    			transition: color .3s ease;
    		}
    		#imagelightbox-close:hover,
    		#imagelightbox-close:focus { background-color: #111; }
    
    			#imagelightbox-close:before,
    			#imagelightbox-close:after
    			{
    				width: 2px;
    				background-color: #fff;
    				content: '';
    				position: absolute;
    				top: 20%;
    				bottom: 20%;
    				left: 50%;
    				margin-left: -1px;
    			}
    			#imagelightbox-close:before
    			{
    				-webkit-transform: rotate( 45deg );
    				-ms-transform: rotate( 45deg );
    				transform: rotate( 45deg );
    			}
    			#imagelightbox-close:after
    			{
    				-webkit-transform: rotate( -45deg );
    				-ms-transform: rotate( -45deg );
    				transform: rotate( -45deg );
    			}
    
    
    		/* CAPTION */
    
    		#imagelightbox-caption
    		{
    			text-align: center;
    			color: #fff;
    			background-color: #666;
    			position: fixed;
    			z-index: 10001;
    			left: 0;
    			right: 0;
    			bottom: 0;
    			padding: 0.625em; /* 10 */
    		}
    
    
    		/* NAVIGATION */
    
    		#imagelightbox-nav
    		{
    			background-color: #444;
    			background-color: rgba( 0, 0, 0, .5 );
    			border-radius: 20px;
    			position: fixed;
    			z-index: 10001;
    			left: 50%;
    			bottom: 3.75em; /* 60 */
    			padding: 0.313em; /* 5 */
    
    			-webkit-transform: translateX( -50% );
    			-ms-transform: translateX( -50% );
    			transform: translateX( -50% );
    		}
    			#imagelightbox-nav button
    			{
    				width: 1em; /* 20 */
    				height: 1em; /* 20 */
    				background-color: transparent;
    				border: 1px solid #fff;
    				border-radius: 50%;
    				display: inline-block;
    				margin: 0 0.313em; /* 5 */
    			}
    			#imagelightbox-nav button.active
    			{
    				background-color: #fff;
    			}
    
    
    		/* ARROWS */
    
    		.imagelightbox-arrow
    		{
    			width: 3.75em; /* 60 */
    			height: 7.5em; /* 120 */
    			background-color: #444;
    			background-color: rgba( 0, 0, 0, .5 );
    			vertical-align: middle;
    			display: none;
    			position: fixed;
    			z-index: 10001;
    			top: 50%;
    			margin-top: -3.75em; /* 60 */
    		}
    		.imagelightbox-arrow:hover,
    		.imagelightbox-arrow:focus	{ background-color: rgba( 0, 0, 0, .75 ); }
    		.imagelightbox-arrow:active { background-color: #111; }
    
    			.imagelightbox-arrow-left	{ left: 2.5em; /* 40 */ }
    			.imagelightbox-arrow-right	{ right: 2.5em; /* 40 */ }
    
    			.imagelightbox-arrow:before
    			{
    				width: 0;
    				height: 0;
    				border: 1em solid transparent;
    				content: '';
    				display: inline-block;
    				margin-bottom: -0.125em; /* 2 */
    			}
    				.imagelightbox-arrow-left:before
    				{
    					border-left: none;
    					border-right-color: #fff;
    					margin-left: -0.313em; /* 5 */
    				}
    				.imagelightbox-arrow-right:before
    				{
    					border-right: none;
    					border-left-color: #fff;
    					margin-right: -0.313em; /* 5 */
    				}
    
    		#imagelightbox-loading,
    		#imagelightbox-overlay,
    		#imagelightbox-close,
    		#imagelightbox-caption,
    		#imagelightbox-nav,
    		.imagelightbox-arrow
    		{
    			-webkit-animation: fade-in .25s linear;
    			animation: fade-in .25s linear;
    		}
    			@-webkit-keyframes fade-in
    			{
    				from	{ opacity: 0; }
    				to		{ opacity: 1; }
    			}
    			@keyframes fade-in
    			{
    				from	{ opacity: 0; }
    				to		{ opacity: 1; }
    			}
    
    		@media only screen and (max-width: 41.250em) /* 660 */
    		{
    			#container
    			{
    				width: 100%;
    			}
    			#imagelightbox-close
    			{
    				top: 1.25em; /* 20 */
    				right: 1.25em; /* 20 */
    			}
    			#imagelightbox-nav
    			{
    				bottom: 1.25em; /* 20 */
    			}
    
    			.imagelightbox-arrow
    			{
    				width: 2.5em; /* 40 */
    				height: 3.75em; /* 60 */
    				margin-top: -2.75em; /* 30 */
    			}
    			.imagelightbox-arrow-left	{ left: 1.25em; /* 20 */ }
    			.imagelightbox-arrow-right	{ right: 1.25em; /* 20 */ }
    		}
    
    		@media only screen and (max-width: 20em) /* 320 */
    		{
    			.imagelightbox-arrow-left	{ left: 0; }
    			.imagelightbox-arrow-right	{ right: 0; }
    		}
    
    	</style>
    <script src="/js_webseite/jquery.js"></script>
       <script src="/js_webseite/imagelightbox.min.js"> </script>
     
      <script>
      	$( function()
    	{
    		var
    			// ACTIVITY INDICATOR
    
    			activityIndicatorOn = function()
    			{
    				$( '<div id="imagelightbox-loading"><div></div></div>' ).appendTo( 'body' );
    			},
    			activityIndicatorOff = function()
    			{
    				$( '#imagelightbox-loading' ).remove();
    			},
    
    
    			// OVERLAY
    
    			overlayOn = function()
    			{
    				$( '<div id="imagelightbox-overlay"></div>' ).appendTo( 'body' );
    			},
    			overlayOff = function()
    			{
    				$( '#imagelightbox-overlay' ).remove();
    			},
    
    
    			// CLOSE BUTTON
    
    			closeButtonOn = function( instance )
    			{
    				$( '<button type="button" id="imagelightbox-close" title="Close"></button>' ).appendTo( 'body' ).on( 'click touchend', function(){ $( this ).remove(); instance.quitImageLightbox(); return false; });
    			},
    			closeButtonOff = function()
    			{
    				$( '#imagelightbox-close' ).remove();
    			},
    
    
    			// CAPTION
    
    			captionOn = function()
    			{
    				var description = $( 'a[href="' + $( '#imagelightbox' ).attr( 'src' ) + '"] img' ).attr( 'alt' );
    				if( description.length > 0 )
    					$( '<div id="imagelightbox-caption">' + description + '</div>' ).appendTo( 'body' );
    			},
    			captionOff = function()
    			{
    				$( '#imagelightbox-caption' ).remove();
    			},
    
    
    			// NAVIGATION
    
    			navigationOn = function( instance, selector )
    			{
    				var images = $( selector );
    				if( images.length )
    				{
    					var nav = $( '<div id="imagelightbox-nav"></div>' );
    					for( var i = 0; i < images.length; i++ )
    						nav.append( '<button type="button"></button>' );
    
    					nav.appendTo( 'body' );
    					nav.on( 'click touchend', function(){ return false; });
    
    					var navItems = nav.find( 'button' );
    					navItems.on( 'click touchend', function()
    					{
    						var $this = $( this );
    						if( images.eq( $this.index() ).attr( 'href' ) != $( '#imagelightbox' ).attr( 'src' ) )
    							instance.switchImageLightbox( $this.index() );
    
    						navItems.removeClass( 'active' );
    						navItems.eq( $this.index() ).addClass( 'active' );
    
    						return false;
    					})
    					.on( 'touchend', function(){ return false; });
    				}
    			},
    			navigationUpdate = function( selector )
    			{
    				var items = $( '#imagelightbox-nav button' );
    				items.removeClass( 'active' );
    				items.eq( $( selector ).filter( '[href="' + $( '#imagelightbox' ).attr( 'src' ) + '"]' ).index( selector ) ).addClass( 'active' );
    			},
    			navigationOff = function()
    			{
    				$( '#imagelightbox-nav' ).remove();
    			},
    
    
    			// ARROWS
    
    			arrowsOn = function( instance, selector )
    			{
    				var $arrows = $( '<button type="button" class="imagelightbox-arrow imagelightbox-arrow-left"></button><button type="button" class="imagelightbox-arrow imagelightbox-arrow-right"></button>' );
    
    				$arrows.appendTo( 'body' );
    
    				$arrows.on( 'click touchend', function( e )
    				{
    					e.preventDefault();
    
    					var $this	= $( this ),
    						$target	= $( selector + '[href="' + $( '#imagelightbox' ).attr( 'src' ) + '"]' ),
    						index	= $target.index( selector );
    
    					if( $this.hasClass( 'imagelightbox-arrow-left' ) )
    					{
    						index = index - 1;
    						if( !$( selector ).eq( index ).length )
    							index = $( selector ).length;
    					}
    					else
    					{
    						index = index + 1;
    						if( !$( selector ).eq( index ).length )
    							index = 0;
    					}
    
    					instance.switchImageLightbox( index );
    					return false;
    				});
    			},
    			arrowsOff = function()
    			{
    				$( '.imagelightbox-arrow' ).remove();
    			};
    
    
    		//	WITH ACTIVITY INDICATION
    
    
    
    
    		//	WITH "CLOSE" BUTTON & ACTIVITY INDICATION
    
    		var instanceC = $( 'a[data-imagelightbox="c"]' ).imageLightbox(
    			{
    				quitOnDocClick:	false,
    				onStart:		function() { closeButtonOn( instanceC ); },
    				onEnd:			function() { closeButtonOff(); activityIndicatorOff(); },
    				onLoadStart: 	function() { activityIndicatorOn(); },
    				onLoadEnd:	 	function() { activityIndicatorOff(); }
    			});
    
    
    		$( '.js--add-dynamic ' ).on( 'click', function( e )
    		{
    			e.preventDefault();
    			var items = $( '.js--dynamic-items' );
    			instanceH.addToImageLightbox( items.find( 'a' ) );
    			$( '.js--dynamic-place' ).append( items.find( 'li' ).detach() );
    			$( this ).remove();
    			items.remove();
    		});
    
    	});
      </script>