Hi Arul,
Well...i tested..and the problem still there...maybe its because the xml
object is not in the root?its inside a movieclip, then inside other
movieclip.
I case you dont understand what i mean is the code that ive put here...is in
a frame that is not in the root, but inside a movieclip(that is in the root)
and in other movieclip...maybe is that the problem?
thanks.
On 8/1/06, Arul Prasad M L <[EMAIL PROTECTED]> wrote:
might be a problem with the URL.
1. Make sure that the ../xml folder is in the WWW folder of ur server, not
above it.
or
2. Try doing this:
var urlString:String = _root._url;
urlString = urlString.substr(0,urlString.lastIndexOf("/"));
urlString = urlString.substr(0,urlString.lastIndexOf("/") + 1);
urlString = urlString.concat("xml/menu.xml")
menuInfoXML = urlString;
If it works, you may want to refactor all the statements above and make
the
code optimal.
~Arul Prasad.
I've just elaborated in soo many statements, just in case you dont
understand.
On 8/1/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote:
>
> can anyone help me?
>
> On 7/31/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote:
> >
> > i singed too soon...when i test locally everything works great...but
> when
> > i try it in internet..it doesnt..he doestn load the xml file....
> >
> > why...?
> >
> > The code is the same...but i did alter the url..like you said..:
> >
> > //EDIT XML PATH
> > menuInfoXML = "./xml/menu.xml";
> > // DO NOT EDIT BELOW..
> >
> > System.useCodepage = true;
> >
> > import mx.xpath.XPathAPI;
> > var infoHolder:XML = new XML();
> > infoHolder.load(menuInfoXML);
> > infoHolder.ignoreWhite = true;
> > var titlePath:String = "/root";
> > //main menu array.
> > var mainMenus:Array;
> > //sub menu array.
> > var subMenus:Array;
> >
> > infoHolder.onLoad = function(ok) {
> > if (ok) {
> > mainMenus = mx.xpath.XPathAPI.selectNodeList(
> infoHolder.firstChild,
> > titlePath+"/menu");
> > createTreeMenu();
> > }
> > };
> >
> >
> > MovieClip.prototype.getPos = function(target:Number) {
> > this.onEnterFrame = function() {
> > this._y -= (this._y-target)/6;
> > if (Math.abs(this._y-target)<0.3) {
> > delete this.onEnterFrame;
> > _root.newsMC.showNews.appear();
> > }
> > };
> > };
> >
> >
> > function createTreeMenu():Void {
> > for (i=0; i<mainMenus.length; i++) {
> > newBut = _root.conteudos_mc.portfolio_mc.attachMovie("but",
> > "but"+i, 9999999+i);
> >
> > newBut.arrow._alpha = 0;
> > newBut.shine._alpha = 0;
> > newBut._x = 18;
> > newBut._y = 93+(newBut._height+5)*i;
> >
> > newBut.txt.text = mainMenus[i].attributes.txt;
> > newBut.link2 = mainMenus[i].attributes.url;
> > newBut.submenuCnt = mainMenus[i].childNodes.length;
> > newBut.y = newBut._y;
> > newBut.onRollOver = function() {
> > _root.conteudos_mc.portfolio_mc.tween(this, 16, 18);
> >
> > this.arrow.appear();
> > this.shine.appear();
> > var textCol = new Color(this.txt);
> > textCol.setRGB(0xffffff);
> >
> > };
> > newBut.onRollOut = function() {
> > _root.conteudos_mc.portfolio_mc.tween(this, 18, 16);
> >
> > this.arrow.disappear();
> > this.shine.disappear();
> > var textCol = new Color(this.txt);
> > textCol.setRGB(0x6F6A63);
> > };
> > newBut.onRelease = function() {
> > if (this.submenuCnt>0) {
> > var butNum:Number = new Number(this._name.substr(3,
1));
> > this.createSubMenu(butNum);
> > for (i=0; i<mainMenus.length; i++) {
> > if (i<butNum+1) {
> >
> >
>
_root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y);
> >
> > } else {
> >
> >
>
_root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y+this.submenuCnt*22);
> >
> > }
> > }
> > }
> > else {
> > _root.conteudos_mc.portfolio_mc.clearSubMenus();
> > for (i=0; i<mainMenus.length; i++) {
> >
> >
>
_root.conteudos_mc.portfolio_mc["but"+i].getPos(_root.conteudos_mc.portfolio_mc["but"+i].y);
> >
> > }
> > //getURL(this.link);
> >
> > }
> > };
> > }
> > }
> >
> >
> > MovieClip.prototype.createSubMenu =
> function(buttonNumber:Number):Void {
> > clearSubMenus();
> > subMenus = mx.xpath.XPathAPI.selectNodeList
(mainMenus[buttonNumber],
> > "/menu/submenu");
> > var butNum:Number = new Number(this._name.substr(3, 1));
> > for (i=0; i<subMenus.length; i++) {
> > subBut =
_root.conteudos_mc.portfolio_mc.attachMovie("submenu",
> > "subMenu"+i, Math.random()*999999);
> >
> > subBut._alpha = 0;
> > subBut._x -= i;
> > subAppear(subBut, (i+3), 30);
> >
> > subBut._y = this.y+this._height+(subBut._height+5)*i;
> > subBut.txt.text = subMenus[i].attributes.txt;
> > subBut.link2 = subMenus[i].attributes.url;
> > subBut.but.onRollOver = function(){
> > var textSubCol = new Color(this._parent.txt);
> > textSubCol.setRGB(0xffffff);
> > }
> > subBut.but.onRollOut = function(){
> > var textSubCol = new Color(this._parent.txt);
> > textSubCol.setRGB(0x6F6A63);
> > }
> > subBut.but.onRelease = function() {
> > loadMovie(this._parent.link2,
> "_root.conteudos_mc.vazio4_mc");
> >
> > trace(this._parent.link2);
> >
> > };
> > }
> > };
> >
> >
> > function clearSubMenus() {
> > for (k=0; k<subMenus.length; k++) {
> >
_root.conteudos_mc.portfolio_mc["subMenu"+k].removeMovieClip();
> >
> > }
> > }
> >
> >
> > function clearAllMenus() {
> > for (i=0; i<mainMenus.length; i++) {
> > _root.conteudos_mc.portfolio_mc["but"+i].removeMovieClip();
> > }
> > }
> >
> >
> > Thanks...once again..xml drives me nuts..
> >
> >
> >
> >
> >
> > On 7/31/06, Jose Maria Barros <[EMAIL PROTECTED]> wrote:
> > >
> > > Oh man....thank you so much..i was getting so frustrated...well..i
am
> > > ...but at least..the problem is solved..
> > >
> > >
> > >
> > > On 7/31/06, eric dolecki < [EMAIL PROTECTED]> wrote:
> > > >
> > > > You are attaching everything to the _root, so you need to clean up
> the
> > > > clips
> > > > one by one, unless you decide to better nest your menu & submenu
> items
> > > > in
> > > > one movieclip. You could then remove it much easier, etc.
> > > >
> > > > On 7/31/06, Jose Maria Barros < [EMAIL PROTECTED]> wrote:
> > > > >
> > > > > Hello, i have a xml menu and when i go to other frame my menu
> doenst
> > > > > unload...
> > > > > i tried with the functions clearMenu and clearSubMenu but they
> dont
> > > > > work..please help..i will send the code:
> > > > >
> > > > >
> > > > >
> > > > > import mx.xpath.XPathAPI;
> > > > > var infoHolder:XML = new XML();
> > > > > infoHolder.load(menuInfoXML);
> > > > > infoHolder.ignoreWhite = true;
> > > > > var titlePath:String = "/root";
> > > > > //main menu array.
> > > > > var mainMenus:Array;
> > > > > //sub menu array.
> > > > > var subMenus:Array;
> > > > >
> > > > >
> > > > > //load the xml with xpath
> > > > > infoHolder.onLoad = function(ok) {
> > > > > if (ok) {
> > > > > mainMenus = mx.xpath.XPathAPI.selectNodeList(
> > > > infoHolder.firstChild
> > > > > ,
> > > > > titlePath+"/menu");
> > > > > createTreeMenu();
> > > > > }
> > > > > };
> > > > >
> > > > >
> > > > > MovieClip.prototype.getPos = function(target:Number) {
> > > > > this.onEnterFrame = function() {
> > > > > this._y -= (this._y-target)/6;
> > > > > if (Math.abs(this._y-target)< 0.3) {
> > > > > delete this.onEnterFrame;
> > > > > _root.newsMC.showNews.appear();
> > > > > }
> > > > > };
> > > > > };
> > > > >
> > > > >
> > > > > function createTreeMenu():Void {
> > > > > for (i=0; i< mainMenus.length; i++) {
> > > > > newBut = _root.attachMovie("but", "but"+i, 9999999+i);
> > > > > newBut.arrow._alpha = 0;
> > > > > newBut.shine._alpha = 0;
> > > > > newBut._x = 105;
> > > > > newBut._y = 180+(newBut._height+5)*i;
> > > > > newBut.txt.text = mainMenus[i].attributes.txt;
> > > > > newBut.link2 = mainMenus[i].attributes.url;
> > > > > newBut.submenuCnt = mainMenus[i].childNodes.length;
> > > > > newBut.y = newBut._y;
> > > > > newBut.onRollOver = function() {
> > > > > _root.tween(this, 10, 13);
> > > > > this.arrow.appear();
> > > > > this.shine.appear();
> > > > > var textCol = new Color( this.txt);
> > > > > textCol.setRGB(0xffffff);
> > > > >
> > > > > };
> > > > > newBut.onRollOut = function() {
> > > > > _root.tween(this, 15, 10);
> > > > > this.arrow.disappear();
> > > > > this.shine.disappear();
> > > > > var textCol = new Color(this.txt);
> > > > > textCol.setRGB(0x6F6A63);
> > > > > };
> > > > > newBut.onRelease = function() {
> > > > > if ( this.submenuCnt>0) {
> > > > > var butNum:Number = new
> Number(this._name.substr(3,
> > > > 1));
> > > > > this.createSubMenu(butNum);
> > > > > for (i=0; i<mainMenus.length; i++) {
> > > > > if (i<butNum+1) {
> > > > > _root["but"+i].getPos(_root["but"+i].y);
> > > > > } else {
> > > > >
> > > > > _root["but"+i].getPos(_root["but"+i].y+this.submenuCnt*22);
> > > > > }
> > > > > }
> > > > > }
> > > > > else {
> > > > > _root.conteudos_mc.portfolio_mc.clearSubMenus();
> > > > > for (i=0; i<mainMenus.length ; i++) {
> > > > > _root["but"+i].getPos(_root["but"+i].y);
> > > > > }
> > > > >
> > > > > }
> > > > > };
> > > > > }
> > > > > }
> > > > >
> > > > >
> > > > > MovieClip.prototype.createSubMenu =
> > > > function(buttonNumber:Number):Void {
> > > > > clearSubMenus();
> > > > > subMenus = mx.xpath.XPathAPI.selectNodeList
> > > > (mainMenus[buttonNumber],
> > > > > "/menu/submenu");
> > > > > var butNum:Number = new Number(this._name.substr(3, 1));
> > > > > for (i=0; i<subMenus.length; i++) {
> > > > > subBut = _root.attachMovie("submenu", "subMenu"+i,
> > > > Math.random
> > > > > ()*999999);
> > > > > subBut._alpha = 0;
> > > > > subBut._x -= i;
> > > > > subAppear(subBut, (i+3), 130);
> > > > > subBut._y = this.y+this._height+(subBut._height+5)*i;
> > > > > subBut.txt.text = subMenus[i].attributes.txt;
> > > > > subBut.link2 = subMenus[i].attributes.url;
> > > > > subBut.but.onRollOver = function(){
> > > > > var textSubCol = new Color(this._parent.txt);
> > > > > textSubCol.setRGB(0xffffff);
> > > > > }
> > > > > subBut.but.onRollOut = function(){
> > > > > var textSubCol = new Color(this._parent.txt);
> > > > > textSubCol.setRGB(0x6F6A63);
> > > > > }
> > > > > subBut.but.onRelease = function() {
> > > > > loadMovie(this._parent.link2,
> > > > "_root.conteudos_mc.vazio4_mc");
> > > > > //this doesnt disapear either...
> > > > > //trace(this._parent);
> > > > > };
> > > > > }
> > > > > };
> > > > >
> > > > >
> > > > >
> > > > > function clearSubMenus() {
> > > > > for (k=0; k<subMenus.length; k++) {
> > > > > _root["subMenu"+k].removeMovieClip();
> > > > > }
> > > > > }
> > > > >
> > > > > function clearAllMenus() {
> > > > > for (i=0; i<mainMenus.length; i++) {
> > > > > _root["but"+i].removeMovieClip();
> > > > > }
> > > > > }
> > > > >
> > > > >
> > > > > Sorry..but im really desperate with this...i tried with
> unloadMovie,
> > > > and
> > > > > ...nothing happens...
>
>
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com