| |||||||
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) |
| Neuer User Registriert seit: May 2006
Beiträge: 4
| Dynamisches getURL mit XML
Hallo, ich habe folgendes Problem: Ich erstelle aus einer xml herraus dynamische Buttons die weiterverlinken sollen. Soweit, so gut! Ich gebe meiner Variablen "the_url" immer den richtigen Wert (der trace is grün markiert und gibt richtig aus). Wenn man jetzt aber auf den Button klickt wird immer die Url des letzten XML Eintrags angesteuert. Das ist der letzte Wert den die Variable animmt wenn die Buttons generiert werden (und wohl zur Laufzeit immer noch hat). Wie biege ich den den onPress/onRelease hin dass er mich zu der Seite führt die ich im xml definiert habe und nicht zu der Adresse die zuletzt als "the_url" gesetzt wurde. Ich habe die markanten stellen farbig markiert. Ich hoffe Ihr könnt mir dabei weiterhelfen Vielen Dank schonmal Code: xmlfile = "a.xml";
xmlMenu = new XML();
xmlMenu.ignoreWhite = true;
xmlMenu.load(xmlfile);
xmlMenu.onLoad = function(success)
{
counter = 0;
if (success) {
createEmptyMovieClip("Clip", 1, {_x:0, _y:0});
for (var aNode:XMLNode = xmlMenu.firstChild; aNode != null; aNode=aNode.nextSibling)
{
for (var bNode:XMLNode = aNode.firstChild; bNode != null; bNode=bNode.nextSibling)
{
counter++;
id = "id"+counter;
the_url = bNode.attributes.url;
the_text = bNode.attributes.name;
Clip.attachMovie("Bezeichner1",id, counter*100);
Clip[id]._y= (counter * 46);
Clip[id]._x= (70);
trace(the_url +" <> "+ the_text); //funktioniert wunderbar
Clip[id].onPress = function(){getURL(the_url, "_blank");} //immer die gleiche :/
}
}
}
}; Geändert von CatzHoek (12-05-2006 um 02:22 Uhr) |
| | |
| | #2 (permalink) |
| Banned Registriert seit: Apr 2006
Beiträge: 246
|
vielleicht so? indem du für jeden clip ein listener object in einem array erstellst? ungetestet PHP-Code: |
| | |
| | #4 (permalink) |
| Banned Registriert seit: Apr 2006
Beiträge: 246
|
vielleicht mit delegates? PHP-Code: |
| | |
| | #5 (permalink) | |
| Neuer User Registriert seit: May 2006
Beiträge: 4
| Zitat:
Gut nacht!Na, tut leider immer noch net. Vielleicht gehts ja morgen nach ner Runde schlaf plötzlich auf anhieb. | |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Feb 2006
Beiträge: 21
|
Hi so wie ich das sehe ist "the_url" ja schon nicht mehr das was sie sein soll, wenn die Funktion aufgerufen wird. speicher doch die url im clip zwischen Clip[id].the_url = bNode.attributes.url dann kannst du mit Clip[id].addEventListener("click", Delegate.create(Clip[id], function(){getURL(this.the_url, "_blank")})); die url auf rufen. Ich hoffe es hilft dir weiter Gruss |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 4
|
Danke für die Hilfe, es lag wohl hauptsächlich an der unerfahrenheit weshalb das nicht so wirklich klappen wollte. Hier der relevante Ausschnitt meine Lösung: Code: Clip.attachMovie("Bezeichner1",id, counter*100);
//werte schnappen1
Clip[id].url = TargetNode.attributes.url;
Clip[id].text = TargetNode.attributes.name;
//positionieren und Link setzten
Clip[id]._y= (counter * 46);
Clip[id]._x= (70);
//Clip[id].url = the_url;
trace(Clip[id].url +" <> "+ Clip[id].text);
Clip[id].onRelease = function(){getURL(this.url, "_blank");} |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |