Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
ENIXone
Threadersteller
Dabei seit: 25.02.2007
Ort: Sundern
Alter: 37
Geschlecht:
|
Verfasst Mi 15.04.2009 16:53
Titel Unterschiedliche Objekte mit gleicher Funktion ausstatten |
|
|
Hallo Leute,
ich hab da ein kleines Problem, bin der Meinung das Ihr mir weiterhelfen könnt.
Ich habe einen Kalender, diesen MUSS ich manuell setzten. Möchte aber die Funktionalität beibehalten.
Was gleich bleibt ist: RollOver, RollOut, und Release. Jedoch ändert sich: Datum und Aktiviert (false/true).
Hier mal das Beispiel als ZIP:
ZIP DATEI
Hier der Beispiel Code:
Code: |
function dayrollOver(objekt) {
_root['d3'+objekt].select_date.onRollOver = function() {
_root['d3'+objekt].gotoAndStop(2);
_root['d3'+objekt].int_txt.text = i;
};
}
function dayrollOut(objekt) {
_root['d3'+objekt].select_date.onRollOut = function() {
_root['d3'+objekt].gotoAndStop(1);
_root['d3'+objekt].int_txt.text = i;
};
}
for (i=1; i<4; i++) {
dayrollOver(i);
dayrollOut(i);
trace(i);
_root['d3'+i].int_txt.text = i;
}
|
Ich habe quasi ein MC in dem drei Bilder, ein Btn und ein Txt-Feld sind.
Ich habe die Funktion absichtlich in die FOR-Schleife gepackt, da var i meine Zahl ist, die ich im Textfeld haben möchte.
Sobald ich nun das RollOver-Event ansteuer, springt dieser in dem Besagten Movieclip auf Bild.
Später soll noch eine XML eingelesen werden die bestimmte Daten auf Aktiviert oder Deaktiviert setzt. Jedoch kommt das später...
Aber warum setzt er mir beim RollOver in das Feld die 4 rein? warum belässt er es nicht bei der Zahl die drin steht?
P.S.: Wenn man die Zeile "_root['d3'+objekt].int_txt.text = i;" aus der Funktion rausnimmt, dann steht nichts mehr in dem Feld.
PLEASE HELP !
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst So 19.04.2009 02:56
Titel Re: Unterschiedliche Objekte mit gleicher Funktion ausstatte |
|
|
ENIXone hat geschrieben: | Aber warum setzt er mir beim RollOver in das Feld die 4 rein? warum belässt er es nicht bei der Zahl die drin steht?
P.S.: Wenn man die Zeile "_root['d3'+objekt].int_txt.text = i;" aus der Funktion rausnimmt, dann steht nichts mehr in dem Feld.
PLEASE HELP ! |
Weil i, nachdem die Schleife durchgelaufen ist, halt 4 ist.
Das Skript "merkt" sich hier
Code: | _root['d3'+objekt].int_txt.text = i; |
nicht, welchen Wert i gerade in der Schleife hatte. Würdest du genau in dem Schleifendurchlauf auf den Button klicken, der gerade durchlaufen wurde (und bevor i im nächsten Durchlauf erhöht wird), dann würde es klappen. Aber das ist natürlich so gut wie unmöglich ...
Ein "Hack" wäre es, der MovieClip-Klasse eine neue Eigenschaft zu verpassen, in der du das momentane i abspeichern kannst:
Code: | MovieClip.prototype.brummbrumm |
Das musst du natürlich nur einmal in deinem Skript festlegen.
dayrollOver könnte dann so aussehen:
Code: | function dayrollOver(objekt) {
_root['d3'+objekt].brummbrumm = i;
_root['d3'+objekt].select_date.onRollOver = function() {
_root['d3'+objekt].gotoAndStop(2);
_root['d3'+objekt].int_txt.text = this._parent.brummbrumm;
};
} |
Zuletzt bearbeitet von therapiekind am So 19.04.2009 02:57, insgesamt 2-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
|
|
|
Ähnliche Themen |
gleicher abstand zweier objekte
Powerpoint mit Blättereffekt ausstatten bzw. Animation
Online-Chat Funktion - mit On und Offline Funktion
link in gleicher seite?
Indesign CS5 gleicher Zwischenraum
CMS - Gleicher inhalt auf mehreren Websites
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|