Image Gallery

Image Gallery ist ein frei verfügbares Javascript, mit dem Bilder animiert dargestellt werden können. Sie können dieses Javascript herunterladen und für Ihre Webseite verwenden.

Image Gallery wurde ursprünglich für einen unserer Kunden geschrieben und steht Ihnen nun in einer erweiterten Version zur Verfügung.

Hinweis:
Image Gallery ist nun in der Version 1.0.4 verfügbar. Diese benötigt keine externen Script Bibliotheken wie Prototype und Scriptacolous. Wenn Sie bisher mit der vorherigen Version gearbeitet haben, berücksichtigen Sie bitte, dass in dieser neuen Version der Parameter FadeDuration in Millisekunden anstatt Sekunden angegeben werden muss. Die neue Version erlaubt zusätzlich eine Angabe der Geschwindigkeit für das Bewegen von Bildern (Paramter MoveSpeed).

Vorteile

Image Gallery ist ein Javascript und bietet die folgenden Vorteile:

  • Animierte Anzeige von Bildern ohne Notwendigkeit, eine aufwendige Flash Applikation zu erstellen
  • Leichte und schnelle Anpassung an neue Bilder
  • Keine tiefen Programmierkenntnisse nötig
  • Erweiterbar durch eigene Programmierung

Sie können die Funktionen dieser Applikation testen, indem Sie unten die Einstellungen der Beispiel Applikation ändern.

Download

Download: Image Gallery Javascript Ver. 1.0.4

Einstellungen:
Allgemein:
Bilder Bewegen:
Bilder Faden:
Gallery Modus:
Gallery Größe anpassen:
Zeitdauer Bildwechsel:

Funktionalität

Image Gallery bietet eine flexibel konfigurierbare Funktionalität. Sie können die Funktionalität über Parameter steuern. Die einzelnen Paramter werden folgend detailliert beschrieben.

Generell bestimmen Sie, ob Sie Bilder aus einem definierten URL (Unique Resource Locator) laden oder alle Bilder als Dateiname in einem angegebenen (verborgenem) Feld speichern und von dort laden. Desweiteren bestimmen Sie, welche Animation auf die Bilder angewendet wird.

Parameter

Die Funktionalität der Applikation wird über Parameter des Javascripts gesteuert. Sie bestimmen diese Parameter im Javascript Code durch Anpassung der Standardwerte. Die Parameter entsprechen weitgehend den Einstellungen, die Sie oben in der Beispielapplikation vornehmen können.

Die folgenden Parameter können Im Javascript Code gesetzt werden:

var GalleryContainer = 'Gallery';
var GalleryMode = 2;
var isAdjustGallerySize = true;
var isByURL = true;
var iMax = 13;
var sURL = 'images/urlaub/small/';
var sFileName = 'image';
var sFileNameExtension = 'jpg';
var sFieldName = 'AllImages';
var ImageChangeDelay = 12000;
var FadeDuration = 8000;
var MoveDirection = 2;
var Distance = 0;
var MoveSpeed = 0;

Die Parameter steuern die Applikation und bewirken im Einzelnen:

Variable: Erklärung:
GalleryContainer Die ID des DIV Elements, in welchem die Bilder angezeigt werden sollen.
GalleryMode Eine Zahl, die bestimmt, ob Bilder bewegt angezeigt oder eingeblendet werden.
1: Bilder einblenden
2: Bilder bewegen
isAdjustGallerySize Boolean Wert, der bestimmt, ob die Größe der Gallery an das erste geladene Bild angepasst wird.
True: Größe anpassen
False: Größe konstant belassen
isByURL

Boolean Wert, der bestimmt, dass Bilder aus einem festgelegten URL geladen werden.
True: Bilder werden aus einem angegebenen URL geladen.
False: Bilder werden aus einem angegebenem Feld (sFieldName) geladen.

Hinweis: isByURL = True benötigt die folgenden gesetzten Felder:

iMax
sURL
sFileName
sFileNameExtension

iMax Die Anzahl der Bilder in dem angegebenen URL plus 1. Spezifizieren Sie 10, falls 9 Bilder geladen werden sollen.
sURL Der URL, aus dem Bilder geladen werden sollen. Dies kann ein absoluter oder relativer URL sein.
sFileName

Der gleichbleibende Teil des Dateinamens der Bilddateien. Dateinamen der Bilder werden wie folgt erwartet:
[sFileName][laufende Nummer].[sFileNameExtension]
Die laufende Nummer wird automatisch durch die Applikation bestimmt. Es wird vorausgesetzt, dass Bilder von 1 bis iMax-1 numeriert sind.

Bsp.:

sFileName = "Image"
sFileNameExtension = "jpg"
iMax = 11
Es werden alle Bilder von Bild 1 bis 10 geladen, die folgenden Namen haben:
Image001.jpg, Image002.jpg, ..., image010.jpg

sFileNameExtension Die Dateinamenserweiterung der Bilddateien, z.B. jpg, gif, png, bmp, etc.
sFieldName

Der Name des Feldes, der alle Dateinamen enthält. Falls isByURL = False gesetzt ist, werden Bilder aus diesem Feld geladen.

Hinweis: isByURL = False benötigt das folgende gesetzte Feld, falls mindestens ein Dateiname keine Pfadangabe enthält:

sURL

ImageChangeDelay Die Zeit in Millisekunden, nachdem ein Bild gewechselt wird. Spezifizieren Sie z.B. 12000, um Bilder nach 12 Sekunden zu wechseln.
FadeDuration Die Zeit in Millisekunden, die für das Einblenden eines Bildes verwendet wird. Je kürzer diese Zeit bestimmt ist, desto schneller erfolgt der Wechsel eines Bildes.

Hinweis: FadeDuration sollte <= ImageChangeDelay sein.
Hinweis: FadeDuration muss seit Version 1.0.4 in Millisekunden angegeben werden.
MoveDirection Bestimmen Sie die Richtung, in der Bilder bewegt werden.

1: Rechts -> Links
2: Links -> Rechts
3: Oben -> Unten
4: Unten -> Oben
Distance Der Abstand zwischen den einzelnen Bildern in Pixel, falls diese bewegt werden.
Standardmäßig wird kein Abstand zwischen Bildern angezeigt. Bei Angabe eines Abstands wird ein weisser Bereich in Größe der angegebenen Pixels zwischen den Bildern angezeigt.
MoveSpeed Falls Bilder bewegt animiert werden, dann bestimmen Sie mit diesem Parameter die Geschwindigkeit der Bewegung.
Standardmäßig werden Bilder Bilder ohne Verzögerung Pixel für Pixel bewegt. Durch Angabe einer Geschwinddigkeit verlangsamt sich die Bewgung. Falls zB. ein MoveSpeed von 50 Millisekunden spezifiziert wird, dann wird das Bild alle 50 Millisekunden 1 Pixel weit bewegt. Um ein Bild komplett zu verschieben, welches zB. eine Breite von 400px besitzt, sind 20.000 Millisekunden nötig. Sie sollten ImageChangeDelay angemessen definieren, so dass genügend Zeit für das vollständige Bewegen des Bildes zur Verfügung steht.

Hinweis: Dieser Parameter ist neu ab Version 1.0.4.

Details:

Sie bestimmen durch Angabe des Parameters isByURL, ob Bilder aus einem URL geladen werden sollen oder ob diese in einem verstecktem Feld gespeichert und von dort geladen werden sollen.

Sie verwenden isByURL = False, falls Ihre Server Applikation alle Bilder dynamisch ermittelt und deren Dateinamen in das in sFieldName spezifizierte (verborgene) Feld speichert. Die Liste der Dateinamen muss eine Komma separierte Liste sein. Dateinamen können mit oder ohne Pfad angegeben werden. Sollten Dateinamen ohne Pfad angegeben sein, muss sURL spezifiziert sein, um Bilder korrekt laden zu können. In diesem Fall werden alle Bilder in dem angegebenen Pfad gesucht.

Sie verwenden isByURL = True, falls Sie Bilder aus einem angegebenen URL laden möchten. Verwenden Sie hierfür die oben beschriebenen Parameter

iMax
sURL
sFileName
sFileNameExtension,

um diese Einstellung zu komplettieren.

Quick Start:

Für einen schnellen Start, verwenden Sie Image Gallery mit Standardeinstellungen.

Passen Sie nur folgende Parameter an:

  • iMax
  • sURL
  • sFileName
  • sFileNameExtension.

HTML

Das folgende HTML Code Beispiel listet den minimalen HTML Code, der für das erfolgreiche Verwenden der Image Gallery nötig ist.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>My Title</title>    
    <script type="text/javascript" src="js/imageGallery.js"></script>
    <style type="text/css">
        .Gallery{width:200px;height:280px;margin-left:150px;border:solid 5px Gray;overflow:hidden;position:relative}
    </style>
</head>
<body>
    <form name="myForm" id="myForm" method="post" action="">
        <input type="hidden" id="AllImages" name="AllImages" value="" />
    </form>
    <div id="Gallery" class="Gallery">
    </div>
</body>
</html>

Hinweis: Das Listing listet eine Referenz zu der Javascript Datei imageGallery.js, welche den Code von Image Gallery als externe Datei enthält. Alternativ fügen Sie den Code als Teil der HTML Datei ein.

Javascript Source Code

001     /*
002         \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
003         Javascript (JS) driven Image Gallery
004         Ver.: 1.0.0
005         Date: September 2009
006         Author: Uwe Gemsjäger
007         (c) digital-ecom GmbH
008             
009         Function:   This JS displays images in an animated fashion. The type of animation can be specified by application settings. 
010                     The JS benefits are:
011                         - Easy to adapt to a different set of images
012                         - ... in a new location
013                         - No need of Flash for display of images in an animated fashion ...
014                         - No expensive reprogramming of Flash files in case the set of images changed ...
015                         - Less CPU expensive than Flash ...
016             
017         Ver.: 1.0.4
018         Date: April 2011
019         Author: Uwe Gemsjäger
020         (c) digital-ecom GmbH
021 
022         Changes:    The script no longer requires the external script libraries Scriptacolous + Prototype.
023                     The script now uses Milliseconds as unique measurement unit for ImageChangeDelay + FadeDuration.
024                     The script now allows determining the speed in milliseconds for moving images (MoveSpeed).
025                     The script now uses its own Event Listener function for starting ImageGallery.
026                             
027         \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 
028     */
029         
030     /*
031         ////////////////////////////////////////////////////////////////////////////////////////////////
032         Specify global variable which get assigned to setTimeout functions - allowing to stop those functions on demand (-> clearTimeout()).
033         ////////////////////////////////////////////////////////////////////////////////////////////////
034     */
035     var myGallery;
036     var myFade;
037     var myMove;
038     /*
039         ////////////////////////////////////////////////////////////////////////////////////////////////
040         Core function, loaded by onload event of body.
041         ////////////////////////////////////////////////////////////////////////////////////////////////
042     */ 
043     function GalleryShow()
044     {
045         // Specify application settings:
046         var GalleryContainer = 'Gallery';   // The DIV which will contain all your images.
047         var GalleryMode = 2;                // What type of animation to use: 1 = Fade images in and out; 2 = Move images from left to right, top to bottom, etc.
048         var isAdjustGallerySize = true;     // Picks up 1st image, obtains its size and adjusts size of GalleryContainer to image size.
049         var isByURL = true;                 // If true, iMax, sURL + sFileName have to specify the images to load. If false, field AllImages has to be filled with all file names of your images as comma separated list.
050         var iMax = 13;                      // if isByURL is true, iMax has to be specified. iMax = Number of images in folder + 1 (i.e. specify 10 if the folder contains 9 images).
051         var sURL = 'images/urlaub/small/';  // if isByURL is true, sURL has to be specified. If false it has to be specified in case field AllImages contains at least one file name, which does not contain path information.
052         var sFileName = 'image';            // if isByURL is true, the application expects image files to be build by identical filenames, specified further by contigeous numbers within the filename (i.e. Image001.jpg, Image002.jpg, etc.)
053         var sFileNameExtension = 'jpg';     // if isByURL is true, the type of Image has to be specified (i.e. jpg, gif, bmp, etc.).
054         var sFieldName = 'AllImages';       // The FieldName, which contains all image file names.
055         var ImageChangeDelay = 12000;       // Time in msec until the next image is loaded.
056         var FadeDuration = 8000;            // When GalleryMode = 1, specify how fast fading is performed.
057         var MoveDirection = 2;              // When GalleryMode = 2, specify 1 in order to move from right to left, 2 = left to right, 3 = top to down, 4 = down to top.
058         var Distance = 0;                   // When GalleryMode = 2, specify the empty space in Pixels between Image1 and Image2. Specify 0 if no Distance is desired.
059         var MoveSpeed = 0;                  // When GalleryMode = 2, specify the speed of moving an image (in milliseconds). Ex.: 0 = fast (no delay), 10 = medium, 50 = slow. You can specify any number but keep in mind that moving i.e. every 50 milliseconds will move the image by 1 px. An image of 400px width requires 20.000 milliseconds to be moved completely. This might conflict with ImageChangeDelay.
060         
061         var objGalleryContainer = document.getElementById(GalleryContainer); // Do not change ...
062             
063         // Specify array of images, create HTML code by using this array and fill images (as HTML) into DIV; get counters for all our images (first, last, etc.):
064         var aPics = ImageList_Get(isByURL, iMax, sURL, sFileName, sFileNameExtension, sFieldName);
065         objGalleryContainer.innerHTML = GalleryHTML_Set(aPics, isAdjustGallerySize, GalleryContainer);            
066 
067         var ImageList = objGalleryContainer.getElementsByTagName('img');
068         for (var j=0; j < ImageList.length; j++){
069             if(j!=0){
070                 ImageList[j].style.display = 'none';
071             }
072         }
073         var ImageLast = ImageList.length -1;
074         var ImageFirst = 0;
075         var ImageCurrent = 0;
076             
077         // Depending on the GalleryMode specified, animate images by using scheduled functions. Those functions will call themselves again, partly.
078         if (GalleryMode == 1){      
079             myGallery = setTimeout(fadeElements(ImageCurrent, ImageFirst, ImageLast, ImageList, ImageChangeDelay, FadeDuration), ImageChangeDelay);
080         }
081         else{
082 
083             myGallery = setTimeout(moveElements(ImageCurrent, ImageFirst, ImageLast, ImageList, ImageChangeDelay, MoveDirection, Distance, MoveSpeed), ImageChangeDelay);
084         }
085     }
086         
087     /*
088         ////////////////////////////////////////////////////////////////////////////////////////////////
089         Supplemental functions ...
090         ////////////////////////////////////////////////////////////////////////////////////////////////
091     */
092         
093     /*
094         Get images list as array ...
095     */
096     function ImageList_Get(isByURL, iMax, sURL, sFileName, sFileNameExtension, sFieldName)
097     {   
098         if (sURL.substring(sURL.length-1, 1) != '/'){
099             sURL += '/';
100         } 
101                     
102         if (isByURL){   
103             return ImageList_ByPath(iMax, sURL, sFileName, sFileNameExtension);
104         }
105         else{
106             return ImageList_ByFieldList(sURL, sFieldName);
107         }
108     }
109         
110     function ImageList_ByPath(iMax, sURL, sFileName, sFileNameExtension)
111     {
112         var aPics = new Array();
113         if (isNaN(iMax) || iMax<1){
114             aPics[0] = '';
115         }
116         else{
117             for (var i=1;i<iMax;i++){
118                 if (i<10){
119                     aPics[i-1] = sURL + sFileName + '00' + i + '.' + sFileNameExtension;
120                 }
121                 else if(i<100){
122                     aPics[i-1] = sURL + sFileName + '0' + i + '.' + sFileNameExtension;
123                 }
124                 else{
125                     aPics[i-1] = sURL + sFileName + i + '.' + sFileNameExtension;
126                 }               
127             }   
128         }
129         return aPics;
130     }
131         
132     function ImageList_ByFieldList(sURL, sFieldName)
133     {
134         var aPics = new Array(); 
135         var aTMP = new Array();
136         if (document.getElementById(sFieldName) == undefined || document.getElementById(sFieldName).value == ''){
137             aPics[0] = '';
138         }
139         else{
140             aTMP = document.getElementById(sFieldName).value.split(',');
141             for (var i=0; i<aTMP.length; i++){
142                 if (aTMP[i].indexOf('/')>-1){
143                     aPics.push(aTMP[i]);
144                 }
145                 else{
146                     aPics.push(sURL + aTMP[i]);
147                 }
148             }
149         }
150         return aPics;
151     }
152         
153     /*
154         Create HTML of images by using the array of images ...
155     */
156     function GalleryHTML_Set(aPics, isAdjustGallerySize, GalleryContainer)
157     {
158         var sHTML = '';
159         var sFileName = '';
160         for (var i=0;i<aPics.length;i++){
161             sFileName = FileName(aPics[i]);
162             if (isAdjustGallerySize && i==0){
163                 sHTML += '<img id=\"img_01_xAe2345_Bg67\" src=\"' + aPics[i] + '\" alt=\"' + sFileName + '\" title=\"' + sFileName + '\" onload=\"GallerySize_Adjust(\'img_01_xAe2345_Bg67\', \'' + GalleryContainer +'\');\" style=\"border:0px;position:absolute;left:0px;top:0px\" />';
164             }
165             else{
166                 sHTML += '<img id="\img_' + i + '\" src=\"' + aPics[i] + '\" alt=\"' + sFileName + '\" title=\"' + sFileName + '\" style=\"border:0px;position:absolute;left:0px;top:0px\" />';
167             }
168         }
169         return sHTML;
170     }
171         
172     function FileName(sURL)
173     {
174         var p = sURL.lastIndexOf('/');
175         if (p>-1){
176             return sURL.substring(p+1, sURL.length);
177         }
178         else{
179             return sURL;
180         }
181     }
182         
183     /*
184         If to adjust size of Gallery, adjust its size by size of first image ...
185     */
186     function GallerySize_Adjust(Img1_ID, GalleryContainer_ID)
187     {
188         var ImageWidth;
189         var ImageHeight;
190         var Img1 = document.getElementById(Img1_ID);
191         var GalleryContainer = document.getElementById(GalleryContainer_ID);
192             
193         if (Img1.clientWidth){
194             ImageWidth = Img1.clientWidth;
195             ImageHeight = Img1.clientHeight;
196         }
197         else{
198             ImageWidth = Img1.innerWidth;
199             ImageHeight = Img1.innerHeight;
200         }
201         GalleryContainer.style.width = parseFloat(ImageWidth) + 'px';
202         GalleryContainer.style.height = parseFloat(ImageHeight) + 'px';
203     }
204         
205     /*
206         The Animation Functions ...
207     */
208 
209     // Fade images in/out
210     function fadeElements(ImageCurrent, ImageFirst, ImageLast, ImageList, ImageChangeDelay, FadeDuration) 
211     {
212         return (function() 
213             {                
214                 ImageList[ImageCurrent].style.position = "absolute";
215                 ImageList[ImageCurrent].style.left = document.getElementById('Gallery').style.left;
216 
217                 fadeOut(ImageList[ImageCurrent].id, FadeDuration);
218                 if (ImageCurrent == ImageLast){
219                     ImageCurrent = ImageFirst;
220                 } 
221                 else{
222                     ImageCurrent++; 
223                 }
224                 fadeIn(ImageList[ImageCurrent].id, FadeDuration);
225                     
226                 myGallery = setTimeout(fadeElements(ImageCurrent, ImageFirst, ImageLast, ImageList, ImageChangeDelay, FadeDuration), ImageChangeDelay);
227             }
228         )
229     }
230 
231     function fadeIn(sID, FadeDuration) {
232         setTransparent(sID);
233         opacity(sID, 0, 100, FadeDuration);
234     }
235 
236     function fadeOut(sID, FadeDuration) {
237         opacity(sID, 100, 0, FadeDuration);
238     }
239 
240     function opacity(sID, opacStart, opacEnd, millisec) {
241         //speed for each frame (we will get 100 frames max)
242         var speed = Math.round(millisec / 100);
243         var timer = 0;
244 
245         //determine the direction for the blending, if start and end are the same nothing happens 
246         if (opacStart > opacEnd) {
247             for (i = opacStart; i >= opacEnd; i--) {
248                 myFade = setTimeout("changeOpac(" + i + ", '" + sID + "', '" + opacEnd + "')", (timer * speed));
249                 timer++;
250             }
251         } else if (opacStart < opacEnd) {
252             if (document.getElementById(sID).style.display == 'none') {
253                 document.getElementById(sID).style.display = 'block';
254             }
255             for (i = opacStart; i <= opacEnd; i++) {
256                 myFade = setTimeout("changeOpac(" + i + ", '" + sID + "', '" + opacEnd + "')", (timer * speed));
257                 timer++;
258             }
259         }
260     }
261 
262     // change the opacity for different browsers
263     function changeOpac(opacity, sID, opacEnd) {
264         try {
265             var objStyle = document.getElementById(sID).style;
266 
267             objStyle.opacity = (opacity / 100);
268             objStyle.MozOpacity = (opacity / 100);
269             objStyle.KhtmlOpacity = (opacity / 100);
270             objStyle.filter = "alpha(opacity=" + opacity + ")";
271         }
272         catch (e) { }
273     }
274 
275     // When fading in an image for the first time avoid flickering by setting image to transparent first
276     function setTransparent(sID) {
277         try {
278             var objStyle = document.getElementById(sID).style;
279 
280             objStyle.opacity = (0);
281             objStyle.MozOpacity = (0);
282             objStyle.KhtmlOpacity = (0);
283             objStyle.filter = "alpha(opacity=0)";
284         }
285         catch (e) { }
286     }
287 
288     // Move Elements
289     function moveElements(ImageCurrent, ImageFirst, ImageLast, ImageList, ImageChangeDelay, MoveDirection, Distance, MoveSpeed) 
290     {
291         return (function() 
292             {   
293                 var ImageWidth;
294                 var ImageHeight;
295                 var Img1 = ImageList[ImageCurrent];
296                 if (ImageCurrent >= ImageLast){
297                     var Img2 = ImageList[ImageFirst];
298                 }
299                 else{
300                     var Img2 = ImageList[ImageCurrent +1];
301                 }
302                     
303                 Img1.style.display = 'block';
304                 Img2.style.display = 'block';
305                     
306                 if (Img1.clientWidth){
307                     ImageWidth = Img1.clientWidth;
308                     ImageHeight = Img1.clientHeight;
309                 }
310                 else{
311                     ImageWidth = Img1.innerWidth;
312                     ImageHeight = Img1.innerHeight;
313                 }
314                     
315                 switch (MoveDirection){
316                     case 1:
317                         Img2.style.left = parseFloat(ImageWidth + Distance) + 'px'; 
318                         break;                        
319                     case 2:
320                         Img2.style.left = parseFloat(ImageWidth*(-1) - Distance) + 'px'; 
321                         break;                        
322                     case 3:
323                         Img2.style.top = parseFloat(ImageHeight*(-1) - Distance) + 'px';
324                         break;                        
325                     case 4:
326                         Img2.style.top = parseFloat(ImageHeight + Distance) + 'px';
327                         break;
328                 }
329 
330                 myMove = setTimeout(moveImage(Img1, Img2, ImageWidth, ImageHeight, 1, MoveDirection, Distance, MoveSpeed), 0);                    
331                     
332                 if (ImageCurrent == ImageLast){
333                     ImageCurrent = ImageFirst;
334                 } 
335                 else{
336                     ImageCurrent++; 
337                 }
338                 myGallery = setTimeout(moveElements(ImageCurrent, ImageFirst, ImageLast, ImageList, ImageChangeDelay, MoveDirection, Distance, MoveSpeed), ImageChangeDelay);                    
339             }
340         )
341     }
342 
343     function moveImage(obj1, obj2, ImageWidth, ImageHeight, Pixel, MoveDirection, Distance, MoveSpeed)
344     {
345         return (function() 
346             {   
347                 Pixel += 1;
348                 switch(MoveDirection){
349                     case 1:
350                         obj1.style.left = parseFloat(parseFloat(obj1.style.left.replace(/px/,'')) - 1) + 'px';
351                         obj2.style.left = parseFloat(parseFloat(obj2.style.left.replace(/px/,'')) - 1) + 'px';
352                         break;
353                     case 2:
354                         obj1.style.left = parseFloat(parseFloat(obj1.style.left.replace(/px/,'')) + 1) + 'px';
355                         obj2.style.left = parseFloat(parseFloat(obj2.style.left.replace(/px/,'')) + 1) + 'px';
356                         break;
357                     case 3:
358                         obj1.style.top = parseFloat(parseFloat(obj1.style.top.replace(/px/,'')) + 1) + 'px';
359                         obj2.style.top = parseFloat(parseFloat(obj2.style.top.replace(/px/,'')) + 1) + 'px';
360                         break;                        
361                     case 4:
362                         obj1.style.top = parseFloat(parseFloat(obj1.style.top.replace(/px/,'')) - 1) + 'px';
363                         obj2.style.top = parseFloat(parseFloat(obj2.style.top.replace(/px/,'')) - 1) + 'px';
364                         break;
365                 }
366                 if (MoveDirection<3){
367                     if (Pixel < parseFloat(ImageWidth + 1 + Distance)){
368                         myMove = setTimeout(moveImage(obj1, obj2, ImageWidth, ImageHeight, Pixel, MoveDirection, Distance, MoveSpeed), MoveSpeed);
369                     }
370                 }
371                 else{
372                     if (Pixel < parseFloat(ImageHeight + 1 + Distance)){
373                         myMove = setTimeout(moveImage(obj1, obj2, ImageWidth, ImageHeight, Pixel, MoveDirection, Distance, MoveSpeed), MoveSpeed);
374                     }
375                 }                    
376             }
377         )
378     }
379 
380         
381     // Use this function in order to stop all current animations i.e. in order to display a bigger sized image of an animated image (-> Lightbox)
382     function GalleryStop() {
383         try {
384             window.clearTimeout(myFade);
385             window.clearTimeout(myMove);
386             window.clearTimeout(myGallery);
387         }
388         catch (ex) { }
389     }
390 
391     // Use this function in order to stop all current animations and restart it again (i.e. after your Lightbox closed).
392     function GalleryReload() {
393         GalleryStop();
394         GalleryShow();
395     }
396 
397     // Start the Image Gallery
398     if (window.addEventListener) {
399         window.addEventListener("load", GalleryShow, false);
400     }
401     else {
402         if (window.attachEvent) {
403             window.attachEvent("onload", GalleryShow);
404         }
405         else {
406             try {
407                 window.onload = GalleryShow();
408             }
409             catch (ex) { }
410         }
411     }        
Größe anpassen: Ziehen oder Doppelklick
 
 
 
 
Telefonischer Kontakt
+49 (0172) 233 44 184
Email
Kontaktformular