| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| QuickScope Registriert seit: May 2004 Ort: Upper Austria
Beiträge: 256
|
hallo! ich hab eine nette navigation gemacht, doch dummerweise ist mir dann beim veröffentlichen aufgefallen, dass irgendwas nicht stimmen kann. in der flash voransicht passt das ding, sobald ich allerdings im browser die navi mir anschaue, ist die performance unter jeder sau - viel langsamer als es eigentlich sein sollte. jetzt hab ich mir gedacht, dass es wahrscheinlich an der setInterval Anweisung (die jede millisekunde aufgerufen wird) liegen könnte und hab mal versucht, als wert für den aufruf 10 millisekunden anzugeben. hat leider auch nichts gebracht... jetzt bin ich mit meinem latein am ende, wäre euch echt dankbar wenn ihr mir helfen könntet. * selector_mc ist ne art kasten, der immer über dem aktuellen menüpunkt steht und sich zu dem gewünschten menüpunkt bewegt, wenn man drüber fährt. * steps_num ist quasi die anzahl der pixel, um die der selector verschoben werden muss. * target4_num ist die voreingestellte position des selectors wenn man über dem 4ten menüpunkt ist. PHP-Code: lg martin |
| | |
| | #4 (permalink) |
| zzzZZZzzz... Registriert seit: Jun 2001 Ort: Heidelberg
Beiträge: 803
|
Also ich kann keine Performance Unterschiede zwischen Testumgebung und Browser feststellen ![]() Ehrlich gesagt, ist das Script aber "heavy overdosed" ... das ganze könnte um einiges einfacher (und auch flexibler) gestaltet werden. Bist du interessiert?
__________________ www.mediaszenario.de |
| | |
| | #5 (permalink) |
| QuickScope Registriert seit: May 2004 Ort: Upper Austria
Beiträge: 256
|
tipps? ja bitte - immer gerne! du merkst keinen unterschied? bei mir seltsamerweise schon... ich poste das file nochmal neu und zwar mit dem 1ms-Intervall - da fällt der Unterschied besser auf. ich hab flash mx 2004 und ie 6.0 bzw. mozilla 1.6 - überall das selbe... Geändert von jaygroove (08-06-2004 um 11:34 Uhr) |
| | |
| | #6 (permalink) |
| zzzZZZzzz... Registriert seit: Jun 2001 Ort: Heidelberg
Beiträge: 803
|
Der ganze Code, der im MC 'navipoints_mc' steht könnte auch so lauten: Code: myPageArray = ["a", "b", "c", "d", "e"];
speed = 2;
moveNavi = function(targetX) {
_root.selector_mc.onEnterFrame = function() {
if(Math.abs(targetX - Math.round(this._x)) < speed) {
this._x = targetX;
this.onEnterFrame = undefined;
} else if(targetX > Math.round(this._x)) this._x += speed;
else if(targetX < Math.round(this._x)) this._x -= speed;
}
}
for(i=1;i<=5;i++) {
this["menupoint" + i +"_btn"].onRollOver = function () {
moveNavi(Math.round(this._parent._x + this._x));
}
this["menupoint" + i +"_btn"].onRollOut = function () {
_root.selector_mc.onEnterFrame = undefined;
}
this["menupoint" + i +"_btn"].onRelease = function () {
temp = "&page=" + myPageArray[i-1];
getURL("start.php?typ="+typ+temp, "_self");
}
} Code: moveNavi = function(targetX) {
_root.selector_mc.onEnterFrame = function() {
if(Math.abs(targetX - Math.round(this._x)) > 1) this._x += (targetX - this._x)/10;
else this.onEnterFrame = undefined;
}
}
__________________ www.mediaszenario.de |
| | |
| | #8 (permalink) |
| QuickScope Registriert seit: May 2004 Ort: Upper Austria
Beiträge: 256
|
so, jetzt hab ichs nach deiner vorlage umprogrammiert und bin mit dem resultat mehr als zufrieden! äußerst schöne lösung, gefällt mir. danke für deine mühe! ich hab's mir im nachhinein eh fast gedacht, dass da setInterval gar nicht mal so angebracht ist - du hast mich grad davon überzeugt ;-) noch eine kleine frage: sprichst du elemente immer im array an? ich meine: this["menupoint"+i+"_btn"] oder nur wenn man den namen des elements noch zusammensetzen muß? |
| | |
| | #9 (permalink) |
| zzzZZZzzz... Registriert seit: Jun 2001 Ort: Heidelberg
Beiträge: 803
|
Nee ... wirklich nur, wenn es nötig ist. Sonst nehme ich den "direkten" Weg. Freut mich, dass dir die Lösung gefällt.
__________________ www.mediaszenario.de |
| | |
| | #10 (permalink) |
| QuickScope Registriert seit: May 2004 Ort: Upper Austria
Beiträge: 256
|
tja, ein problem gibts da jetzt doch noch: wenn man mit der for schleife die button aktionen generiert, funktioniert myPageArray[i-1] nicht... mit trace hab ich schon versucht, das problem zu ergründen: der Array ist zwar da, aber i-1 ergibt dann immer den wert 5 wie kann man das problem umgehen, bzw. warum kommt dies zustande? |
| | |
| | #11 (permalink) |
| zzzZZZzzz... Registriert seit: Jun 2001 Ort: Heidelberg
Beiträge: 803
|
Gibst du den trace-Befehl in der Schleife oder erst danach?
__________________ www.mediaszenario.de |
| | |
| | #12 (permalink) |
| QuickScope Registriert seit: May 2004 Ort: Upper Austria
Beiträge: 256
|
in der schleife bei onRelease... aber er wird nicht ausgeführt sondern erst dann, wenn man draufklickt auf jeden fall funktioniert es nicht, i wird nicht richtig eingesetzt irgendeine idee wieso? |
| | |
| | #13 (permalink) |
| zzzZZZzzz... Registriert seit: Jun 2001 Ort: Heidelberg
Beiträge: 803
|
O.K. hier ist der Fehler: Code: for(i=1;i<=5;i++) {
trace(i); //richtig
this["menupoint" + i +"_btn"].onRollOver = function () {
moveNavi(Math.round(this._parent._x + this._x));
}
this["menupoint" + i +"_btn"].onRollOut = function () {
_root.selector_mc.onEnterFrame = undefined;
}
this["menupoint" + i +"_btn"].onRelease = function () {
trace(i); //falsch
temp = "&page=" + myPageArray[i-1];
getURL("start.php?typ="+typ+temp, "_self");
}
} Code: for(i=1;i<=5;i++) {
this["menupoint" + i +"_btn"].onRollOver = function () {
moveNavi(Math.round(this._parent._x + this._x));
}
this["menupoint" + i +"_btn"].onRollOut = function () {
_root.selector_mc.onEnterFrame = undefined;
}
this["menupoint" + i +"_btn"].temp = "&page=" + myPageArray[i-1];
this["menupoint" + i +"_btn"].onRelease = function () {
getURL("start.php?typ="+typ+this.temp, "_self");
}
}
__________________ www.mediaszenario.de |
| | |
| | #15 (permalink) |
| QuickScope Registriert seit: May 2004 Ort: Upper Austria
Beiträge: 256
|
zu schnell nachgefragt, jetzt isses mir glaub ich klar: deswegen weil man jetzt für jeden menüpunkt eine variable definiert hat und nun auch darauf zugreifen kann - vorher wurde die variable erst bei onRelease erzeugt und da wars dann auch schon zu spät. richtig verstanden? |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |