Skip to content
Skip to search - Accesskey = s
parentNode.org
The building blocks of a solid frontend.
Pasted
by
flash
on
2010-03-12 14:41
as
Plain Text
Create New
http://pastebin.parentnode.org/
Links this one
http://pastebin.parentnode.org/103453
Comment
/////// imgPerRow = 4; // Bilder pro Zeile margin = 5; //Abstand zwischen den Thumbnails tbSize = 267;// Größe der Thumbnails startX = 417; // Startposition X startY = 250; // Startpostion Y var images:Array = new Array(); // Array mit den Thumbnails images[0] = 'galerie/thumbs/bild1tn.jpg'; images[1] = 'galerie/thumbs/bild2tn.jpg'; images[2] = 'galerie/thumbs/bild3tn.jpg'; images[3] = 'galerie/thumbs/bild4tn.jpg'; var images_gr:Array = new Array(); // Array mit den Hauptbildern images_gr[0] = 'galerie/main/bild1.jpg'; images_gr[1] = 'galerie/main/bild2.jpg'; images_gr[2] = 'galerie/main/bild3.jpg'; images_gr[3] = 'galerie/main/bild4.jpg'; function imgContainer(bezeichner, border, bground, bildId) { container = _root.createEmptyMovieClip(bezeichner, _root.getNextHighestDepth()); //erstellt einen neuen leeren MovieClip container.beginFill(bground,100); // füllt den MovieClip mit Hntergrundfarbe und Rahmen container.lineStyle(0,border,100); container.moveTo(0,0); container.lineTo(266,0); container.lineTo(266,199); container.lineTo(0,199); container.endFill(); container.num = bildId; // Speichert die Bild Id im MovieClip, für späteres Zugreifen auf jeweilige Id } function rePosition() { for (i=0; i<=images.length; i++) { // Thumbnails repositionieren _root['container'+i]._x = _root['container'+i].posX; _root['container'+i]._y = _root['container'+i].posY; //Thumbnails einblenden und aktivieren _root['container'+i].onEnterFrame = function() { this._alpha += 5; if (this._alpha>=50) { this._alpha = 50; delete this.onEnterFrame; this.enabled = true; } }; } } function loadThumbs(target, image, bezeichner) { // Erstellung eines neuen leeren MoviClips für das Thumbnail img = target.createEmptyMovieClip(bezeichner, target.getNextHighestDepth()); img._x = 2.5; img._y = 2.5; img._alpha = 0; //Alpha auf 0 setzen um einfaden der Bilder zu realisieren // Erstellung einer Instanz der MoviClipLoader-Klasse und des jeweiligen Listeners _root[bezeichner+'mcl'] = new MovieClipLoader(); _root[bezeichner+'ll'] = new Object(); _root[bezeichner+'ll'].onLoadProgress = function(movie:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void { this.geladen = bytesLoaded; this.total = bytesTotal; this.prozent = Math.round((100/this.total)*this.geladen); this.ziel = movie; // enthält den Pfad und Namen des jeweiligen Thumbnails }; _root[bezeichner+'mcl'].addListener(_root[bezeichner+'ll']); _root[bezeichner+'mcl'].loadClip(image,img); //Erstellt den MovieClip für die Ladeanzeige loader_mc = target.createEmptyMovieClip(bezeichner+'loader', target.getNextHighestDepth()); loader_mc.beginFill(0x333333,100); loader_mc.lineStyle(0); loader_mc.moveTo(0,0); loader_mc.lineTo(1,0); loader_mc.lineTo(1,5); loader_mc.lineTo(0,5); loader_mc.endFill(); //Positioniert den "loader_mc"-MovieClip mittig im Parent-MovieClip loader_mc._y = (target._height-loader_mc._height)/2; loader_mc._x = (target._height-(tbSize-10))/2; // Erstellt das onEnterFrame-Event für die Aktualisierung der Anzeige loader_mc.onEnterFrame = function() { this._width = ((tbSize-10)/100)*_root[bezeichner+'ll'].prozent; if (_root[bezeichner+'ll'].prozent == 100) { this._alpha -= 10; _root[bezeichner+'ll'].ziel._alpha += 10; if (_root[bezeichner+'ll'].ziel._alpha>=100) { delete this.onEnterFrame; hover(target); } } }; } function hover(target) { target.onRollOver = function() { this.onEnterFrame = function() { this._alpha += 10; if (this._alpha>=100) { this._alpha = 100; delete this.onEnterFrame; } }; }; target.onRollOut = function() { this.onEnterFrame = function() { this._alpha -= 5; if (this._alpha<=30) { this._alpha = 30; delete this.onEnterFrame; } }; }; target.onRelease = function() { playFadeOut(); loadImage(images_gr[target.num]); // zugreifen auf den Index des Arrays mit der entsprechenden Bild-Id }; } function fadeOut(clip) { clip.onEnterFrame = function() { this._y += 15; this._alpha -= 10; if (this._alpha<=0) { delete this.onEnterFrame; } }; } function playFadeOut() { time = 800; interval = time/images.length; for (i=0; i<=images.length; i++) { _root['container'+i].enabled = false; // deaktiviert die Schaltflächenfunktionen setTimeout(fadeOut,time-(interval*i),_root['container'+i]); } } function loadImage(pfad) { // Zeichnet den Rahmen und die Hintergrundfarbe con = _root.createEmptyMovieClip('bigImgContainer', _root.getNextHighestDepth()); con.beginFill(0xEEEEEE,100); con.lineStyle(0,0xCCCCCCC); con.moveTo(0,0); con.lineTo(210,0); con.lineTo(210,20); con.lineTo(0,20); con.endFill(); //Zentriert den MovieClip con._x = (Stage.width-con._width)/2; con._y = (Stage.height-con._height)/2; // Erstellt den MovieClip fürs Bild, den MovieClipLoader und den Listener imgCon = _root.createEmptyMovieClip('bigImg', _root.getNextHighestDepth()); _root.imageloader = new MovieClipLoader(); _root.imagelistener = new Object(); _root.imagelistener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void { this.geladen = bytesLoaded; this.total = bytesTotal; this.prozent = Math.round((100/this.total)*this.geladen); //trace(this.prozent); }; _root.imageloader.addListener(_root.imagelistener); _root.imageloader.loadClip(pfad,imgCon); imgCon._alpha = 0; // Alpha des Bildes wird auf 0 gesetzt für die spätere Animation loader_mc = con.createEmptyMovieClip(bezeichner+'loader', con.getNextHighestDepth()); loader_mc.beginFill(0x333333,100); loader_mc.lineStyle(0); loader_mc.moveTo(0,0); loader_mc.lineTo(1,0); loader_mc.lineTo(1,5); loader_mc.lineTo(0,5); loader_mc.endFill(); loader_mc._y = (loader_mc._parent._height-loader_mc._height)/2; loader_mc._x = 5; loader_mc.onEnterFrame = function() { this._width = _root['imagelistener'].prozent*2; if (_root['imagelistener'].prozent == 100) { this._alpha -= 10; if (this._alpha<=0) { delete this.onEnterFrame; viewImage(imgCon, con); } } }; } function acc(e, s, t) { x = (e-s)/t; return x; } function viewImage(image, container) { container.onEnterFrame = function() { // Zentriert das Bild in der Mitte der Bühne image._x = (Stage.width-image._width)/2; image._y = (Stage.height-image._height)/2; // Animiert den Container mit der acc-Funktion this._width += acc(image._width+6, this._width, 10); this._height += acc(image._height+6, this._height, 10); this._x = (Stage.width-this._width)/2; this._y = (Stage.height-this._height)/2; // Steuerung nach bestimmten Erfüllungen if (this._width>=(image._width+5)) { image._alpha += 5; if (image._alpha>=100) { delete this.onEnterFrame; this.onRelease = function() { this.enabled = false; this.onEnterFrame = function() { this._alpha -= 10; image._alpha -= 10; if (this._alpha<=0) { delete this.onEnterFrame; removeMovieClip(this); removeMovieClip(image); rePosition(); } }; }; } } }; } function rePosition() { for (i=0; i<=images.length; i++) { // Thumbnails repositionieren _root['container'+i]._x = _root['container'+i].posX; _root['container'+i]._y = _root['container'+i].posY; //Thumbnails einblenden und aktivieren _root['container'+i].onEnterFrame = function() { this._alpha += 5; if (this._alpha>=50) { this._alpha = 50; delete this.onEnterFrame; this.enabled = true; } }; } } for (i=0; i<images.length; i++) { newCon = imgContainer('container'+i, 0xCCCCCC, 0xEEEEEE, i); _root['container'+i]._alpha = 30; if (i>0 && i%imgPerRow == 0) { startY += margin+tbSize; _root['container'+i]._x = startX; } else if (i == 0) { _root['container'+i]._x = startX; } else { _root['container'+i]._x = _root['container'+(i-1)]._width+_root['container'+(i-1)]._x+margin; } _root['container'+i]._y = startY; _root['container'+i].posX = _root['container'+i]._x; _root['container'+i].posY = _root['container'+i]._y; loadThumbs(_root['container'+i],images[i],'imgContainer'+i); }