mein dynamisches menü will nich so recht wie ich will. alles sieht schön aus, wenn ich jeweils warte bis die animation zu ende is, nur wenn ich meine maus schnell von links nach rechts über die hauptmenüpunkte bewege und das öfters, dann schwindet der abstand zwischen den hauptmenüpunkten. das find ich ziemlich schade, da ich es mir selbst nich erklären kann. des weiteren wäre es noch schön, wenn es einen aktiven status geben würde, praktisch wenn ich nen rollOver übern n hauptmenüpunkt mache, dass dieser dann hervorgehoben bleibt und das untermenü auch sichtbar ist, und das solange, bis ich über ein neuen hauptmenüpunkt rolle. das aktuelle menü konnt ihr
hier
anschauen. und das etwas lange Actionscript. sinnlose formulierungen bitte auch posten, sofern ihr die lust am code nicht verliert.
PHP-Code:
mainLinks = new Array(["Wir über uns", "das sind wir", "das tun wir"], ["Aktuelles", "Elternkreis", "Selbsthilfe", "xxx"], ["Angebote", "Prävention", "Beratung"], ["Infos"], ["Links"]);
Files = new Array(["wir_ueber_uns", "das_sind_wir", "das_tun_wir"], ["aktuelles", "elternkreis", "selbsthilfe", "xxx"], ["angebote", "praevention", "beratung"], ["infos"], ["links"]);
mainverknuepfung = "mainLink";
subverknuepfung = "subLink";
posx = 70;
posy = 12;
_global.yFactor = 1.8;
_global.xFactor = 1.2;
//Pfad zu den Verlinkten Dateien. z.B. path = "dokumente/"
path = "";
//Frameeigenschaft
//_self bezeichnet den aktuellen Frame im aktuellen Fenster.
//_blank bezeichnet ein neues Fenster.
//_parent bezeichnet den übergeordneten Frame des aktuellen Frames.
//_top
frame = "_blank";
//Dateiformat
doctype = "html";
blendzeit = 2;
//Abstand zwischen Main-Menü-Punkten
abstand = 0;
//Abstand von Main- zu Sub-Menü
sub_verschiebung = 10;
_root.ausgefahren = false;
function ausfahren(abnr) {
if (!_root.ausgefahren) {
_root.curr = abnr;
for (j=1; j<_root.mainLinks[abnr].length; j++) {
_root.attachMovie(subverknuepfung, _root.mainLinks[abnr][j], (abnr+1)*j+50);
_root[_root.mainLinks[abnr][j]]._alpha = 0;
_root[_root.mainLinks[abnr][j]].onEnterFrame = function() {
if (this._alpha<=100) {
this._alpha += blendzeit;
}
};
//schöner _root[_root.mainLinks[abnr][j]]._x = _root[_root.mainLinks[abnr][0]]._x+(j-1)*(_root[_root.mainLinks[abnr][1]]._width);
_root[_root.mainLinks[abnr][j]]._x = /*_root[_root.mainLinks[abnr][j]]._x*/posX-30+(j-1)*(_root[_root.mainLinks[abnr][1]]._width);
_root[_root.mainLinks[abnr][j]]._y = posy+sub_verschiebung;
_root[_root.mainLinks[abnr][j]].lanz.text = _root.mainLinks[abnr][j];
_root[_root.mainLinks[abnr][j]].file = _root.Files[abnr][j];
_root[_root.mainLinks[abnr][j]].onRelease = function() {
//trace("zuladene file: "+[path]+this.file+["."+doctype]);
getURL([path]+this.file+["."+doctype], [frame]);
};
_root[_root.mainLinks[abnr][j]].onRollOver = function() {
this.lanz.textColor = 0x610E53;
};
_root[_root.mainLinks[abnr][j]].onRollOut = function() {
this.lanz.textColor = 0x000000;
};
_root[_root.mainLinks[abnr][j]].onReleaseOutside = function() {
this.lanz.textColor = 0x000000;
};
}
for (var ii = abnr+1; ii<_root.mainLinks.length; ii++) {
_root[_root.mainLinks[ii][0]]._x = _root[_root.mainLinks[ii][0]]._x;
}
_root.ausgefahren = true;
} else {
einfahren(_root.curr);
_root.curr = abnr;
ausfahren(_root.curr);
}
}
function einfahren(abnre) {
for (var ii = abnre+1; ii<_root.mainLinks.length; ii++) {
_root[_root.mainLinks[ii][0]]._x = _root[_root.mainLinks[ii][0]]._x;
}
for (j=1; j<_root.mainLinks[abnre].length; j++) {
_root[_root.mainLinks[abnre][j]].removeMovieClip();
}
_root.ausgefahren = false;
}
for (var i = 0; i<mainLinks.length; i++) {
name = mainLinks[i][0];
_root.attachMovie(mainverknuepfung, name, i);
_root[name]._x = i*(_root[name]._width+abstand)+posx;
_root[name]._y = posy;
_root[name].lanz.text = name;
_root[name].nr = i;
_global.s_scale = 100;
_global.e_scale = 130;
_global.spd = 2;
_root[name].onRollOver = function() {
ausfahren(this.nr);
this.lanz.textColor = 0x610E53;
this.onEnterFrame = function(){
if(this._xscale<e_scale){
this._yscale += spd;
this._xscale += spd;
xmove = spd;
for (p=this.nr; p>=0; p--) {
array[p] = p-1;
//trace(array[p]);
_root[_root.mainLinks[p-1][0]]._x = _root[_root.mainLinks[p-1][0]]._x-xmove;
}
for (p=this.nr; p<=4; p++) {
array[p] = p+1;
//trace(array[p]);
//trace(_root.mainLinks[this.nr][0]);
_root[_root.mainLinks[p+1][0]]._x = _root[_root.mainLinks[p+1][0]]._x+xmove;
}
}
else{
delete this.onEnterFrame;
}
}
}
_root[name].onRollOut = function() {
this.lanz.textColor = 0x000000;
this.onEnterFrame = function(){
//trace(s_xscale+"|"+e_xscale);
if(this._xscale>s_scale){
this._xscale -= spd;
this._yscale -= spd;
}
else{
delete this.onEnterFrame;
}
for (p=this.nr; p>=0; p--) {
array[p] = p+1;
// trace(array[p]);
_root[_root.mainLinks[p-1][0]]._x = _root[_root.mainLinks[p-1][0]]._x+xmove;
}
for (p=this.nr; p<=4; p++) {
array[p] = p+1;
_root[_root.mainLinks[p+1][0]]._x = _root[_root.mainLinks[p+1][0]]._x-xmove;
}
}
}
}