Comunidad de diseño web y desarrollo en internet online

url de los subemenus

Citar            
MensajeEscrito el 12 Ago 2010 05:34 pm
Hola, estaba teniendo un problema con un menu que estoy haciendo. El menu es horizontal y al pasar por encima, despliega varios subemnus tambien horizontales. El texto de tanto el menu como los subemnus lo obtengo de un xml y de alli tambien las urls.
El problema que tengo es que siempre me lleva a la ultima url de los submenus y en el caso de los menus me lleva al ultimo url de los menus.
Agradeceria enormemente la ayuda ya que no puedo arreglar esto y me complica mucho.
Desde ya muchas gracias

Por brunoo.182

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2010 07:07 pm
Seguramente estás usando un índice de un loop dentro de un callback, y en cada pasada el valor se sobreescribe, postea el código pertinente

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Ago 2010 09:58 pm
muchisimas gracias solisarg, me imagine que seria un problema de ese tipo pero no logre darme cuenta del error. Te dejo el codigo de actionscript para que lo verifiques:

Código ActionScript :

var my_xml:XML = new XML();
my_xml.load("data/menus.xml");
my_xml.ignoreWhite = true;
var menues:Array = new Array();
var _this = this;
var submenu
my_xml.onLoad = function(success) {
   if (success) {
      //   trace(this)
      menues = this.childNodes;
      for (var i = 0; i<menues.length; i++) {
         var url= menues[i].firstChild
         _this.attachMovie("menu_mc", "menumc_"+i, -i);
         _this["menumc_"+i].menutxt.text = menues[i].attributes.label;
         url = menues[i].attributes.url;
         _this["menumc_"+i]._y = 22;
         if (i == 0) {
            _this["menumc_"+i]._x = 100;
         } else {
            _this["menumc_"+i]._x = _this["menumc_"+(i-1)]._x+_this["menumc_"+(i-1)]._width-20;
         }
         _this["menumc_"+i].onRollOver = function() {
               
            this.gotoAndPlay(2)
            
            menu_rollover(this);
         };
         _this["menumc_"+i].onRollOut = function() {
            menu_rollout(this);
         };
         _this["menumc_"+i].onRelease = function() {
                getURL( url , "_self" )
         };
      }
   } else {
      trace("no xml loaded");
   }
};
function menu_rollover(mc) {
   for(var i = 0; i<submenu.length; i++)
      {
         removeMovieClip(_this["submenu_"+i])
      }
   mc.gotoAndPlay("start");
   var menu_num = mc._name;
   menu_num = substring(menu_num, menu_num.lastIndexOf("_")+2, menu_num.length);
   submenu = menues[menu_num].childNodes
   for(var i=0; i<submenu.length; i++){
      _this.attachMovie("submenu_mc", "submenu_"+i, i+menues.length);
      _this["submenu_"+i].menutxt2.text = submenu[i].attributes.label;
      url = submenu[i].attributes.url;
      _this["submenu_"+i]._y = _this["menumc_"+menu_num]._y+ _this["menumc_"+menu_num]._height;
      if(i == 0)
      {
         _this["submenu_"+i]._x = 70
      }else{
         _this["submenu_"+i]._x =_this["submenu_"+(i-1)]._x+ _this["submenu_"+(i-1)]._width
      }
      _this["submenu_"+i].onRollOver = function()
      {
         this.gotoAndStop(2);
      }
      _this["submenu_"+i].onRollOut = function()
      {
         this.gotoAndStop(1);
      }
      _this["submenu_"+i].onRelease = function() {
                getURL( url , "_self" )
         };

   }
   
}
function menu_rollout(mc) {
   
   mc.gotoAndPlay("out");
}


Te agradezco devuelta solisarg por la ayuda que me brindas porque necesito solucionar esto.
Si necesitas el archivo xml pidemelo y lo posteo

Por brunoo.182

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2010 11:17 pm
En las dos funciones (el onLoad y menu_rollover) el error es el mismo, cambia estas líneas:

Código ActionScript :

    _this["menumc_"+i].url = menues[i].attributes.url; 
(....)
    _this["menumc_"+i].onRelease = function() { 
                getURL( this.url , "_self" ) 
         }; 
  


Así copias la URL a la línea de tiempo del clip en cuestión

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Ago 2010 01:01 am
gracias jorge. Intente lo que me dijiste pero ahora cuando hago click en cualquier menu o submenu me lleva solo a la pagina de inicio de mi navegador y no a la que asigne. Te dejo el codigo xml para que lo ojees por si el error se encuentra aqui:


<?xml version="1.0" encoding="utf-8"?>
<menu label="La Empresa" url = "./la_empresa.html" >
<menu label="Presentación l" url = "./presentacion.html" />
<menu label="Breve resenia de realizaciones " url = "./breve_resenia.html" />

</menu>
<menu label="Desarrollo" url = "./desarrollo.html">
<menu label=" " />
<menu label="Sistemas a Medida l" url = "./sistemas_a_medida.html" />
<menu label="Paquetes desarrollados " url = "./paquetes_desarrollados.html" />

</menu>
<menu label="Consultoría" url = "./consultoria.html">
<menu label=" "/>
<menu label="Soporte informático l" url = "./soporte_informatico.html"/>
<menu label="Gestión proactiva l" url = "./gestion_proactiva.html"/>
<menu label="Administración de servidores " url = "./administracion_de_servidores.html"/>

</menu>
<menu label="Comunicaciones" url = "./comunicaciones.html">
<menu label="Conexiones diferenciales l" url = "./conexiones_diferenciales.html"/>
<menu label="Interconexión de sucursales l" url = "./interconexion_de_sucursales.html"/>
<menu label="ADSL residencial y empresarial l" url = "./adsl_residencial_y_empresarial.html"/>
<menu label="Cableado estructurado l" url = "./cableado_estructurado.html"/>
<menu label="Instalaciones eléctricas " url = "./instalaciones_electricas.html"/>

</menu>
<menu label="Hosting" url = "./hosting.html">
<menu label="Registro de dominios l" url = "./registro_de_dominios.html"/>
<menu label="Servicio DNS l" url = "./servicio_dns.html"/>
<menu label="Managed E-Mail Server l" url = "./managed_e-mail_server.html"/>
<menu label="Hosting de Sitios Web l" url = "./hosting_de_sitios_web.html"/>
<menu label="Housing de Servidores " url = "./housing_de_servidores.html"/>

</menu>
<menu label="Contáctenos" url = "./contactenos.html">
<menu label=" " />
<menu label=" " />
<menu label="Direcciones E-mail l" url = "./direcciones_e-mail.html"/>
<menu label="Teléfonos l" url = "./telefonos.html"/>
<menu label="Ubicación " url = "./ubicacion.html"/>
</menu>





Desde ya muchas gracias jorge por tu ayuda para lograr que funcione este menu.

Por brunoo.182

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ago 2010 01:15 am
ya lo logre solucionar jorge. Muchisimas gracias por tu ayuda de no haber sido por ti no hubiera podido lograrlo. Gracias

Por brunoo.182

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ago 2010 10:40 am
En la URL usa

ubicacion.html, no ./ubicacion.html

Pon todos los archivos en la misma carpeta
Usa trace(this.url) y ejecútalo desde dentro de Flash para ver si tiene el dato correcto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.