Comunidad de diseño web y desarrollo en internet online

cargar una clase de js en un boton flash

Citar            
MensajeEscrito el 23 Abr 2009 02:24 pm
Saludos.

Como podria adaptar esto:

Código :

<a href="main.html" class="loadMe">home page</a>


en un boton flash? Ahi lo importante es cargar la clase "loadMe" que es un archivo js. No necesito la funcion, solo llamarla. La función es esta:

Código js:


Código :

     1.
      var History = new Class({
   2.
                                   
   3.
          getOptions: function(){
   4.
              return {
   5.
                  links: '.loadMe'
   6.
              };
   7.
          },
   8.
       
   9.
          initialize: function(options){
  10.
         
  11.
              this.setOptions(this.getOptions(), options);
  12.
             
  13.
              this.url = window.location.href.toString();
  14.
              this.checkURL.periodical(500,this);
  15.
             
  16.
              if(window.ie){
  17.
                  this.iframe = new Element('iframe').setProperties({id: 'HistoryIframe', src: this.url}).setStyles({display: 'none'}).injectInside(document.body);
  18.
              }
  19.
             
  20.
              var url = this.formatHash(this.url);
  21.
             
  22.
              this.links = $$(this.options.links);
  23.
              this.links.each(function(el,i){          
  24.
                  el.addEvent('click',function(e){
  25.
                      if(e != undefined){
  26.
                          new Event(e).stop();
  27.
                      }
  28.
                      this.set(el);
  29.
                  }.bind(this));
  30.
                 
  31.
                  if(url != ''){
  32.
                      if(el.href == url){
  33.
                          el.fireEvent('click','',50);
  34.
                          this.set(el.href);
  35.
                      }
  36.
                  }
  37.
              }.bind(this));
  38.
             
  39.
          },
  40.
         
  41.
          formatHash: function(str){
  42.
              str = str.toString();
  43.
              var index = str.indexOf('#');
  44.
              if(index > -1){
  45.
                  str = str.substr(index+1);
  46.
              }
  47.
              return str;    
  48.
          },
  49.
         
  50.
          formatURL: function(str){
  51.
              str = str.toString();
  52.
              var index = str.indexOf('#');
  53.
              if(index > -1){
  54.
                  str = str.substring(0, index);
  55.
              }
  56.
              return str;
  57.
          },
  58.
         
  59.
          set: function(str){
  60.
              var url = this.formatURL(this.url);
  61.
              str = this.formatHash(str);
  62.
              this.url = url+'#'+str;
  63.
              window.location.href = this.url;
  64.
              if(window.ie){
  65.
                  this.iframe.setProperty('src', str);
  66.
              }
  67.
          },
  68.
         
  69.
          checkURL: function(){
  70.
             
  71.
              if(window.ie){
  72.
                  var url = this.iframe.contentWindow.location.href;
  73.
                  if(url != this.formatHash(this.url)){
  74.
                      this.url = this.formatURL(this.url)+'#'+url;
  75.
                      window.location.href = this.url;
  76.
                      this.iframe.setProperty('src', url);
  77.
                      this.setContent();
  78.
                  }
  79.
              }else{
  80.
                  var url = window.location.href.toString();
  81.
                  if(url != this.url){
  82.
                      this.url = url;
  83.
                      window.location.href = this.url;
  84.
                      this.setContent();
  85.
                  }
  86.
              }
  87.
          },
  88.
         
  89.
          setContent: function(){
  90.
              var url = this.formatHash(this.url)
  91.
              this.links.each(function(el,i){
  92.
                  if(el.href == url){
  93.
                      el.fireEvent('click','',50);
  94.
                  }
  95.
              });
  96.
          }
  97.
       
  98.
      });
  99.
       
 100.
      History.implement(new Events);
 101.
      History.implement(new Options);



tambien necesito cargar esta otra instruccion desde un boton en flash:

Código :

   1.
      <a href="#" onclick="javascript:document.getElementById('page-loader').style.display='none' ; document.getElementById('page-loader2').style.display='block';">nosotros.html</a>


Gracias.

Por gVenom

19 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2009 04:31 pm
Para llamar a una función JS en Flash usas getURL o ExternalInterface (hay un tip para eso, búscalo)

Pon en tu HTML un método que sea invocable, luego lo llamas así:

getURL('javascript:mimetodo()')

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Abr 2009 04:58 pm
:shock: wuaaaoh, me gustaria ser programador para saber que rayos me dijiste :lol:

Que es lo que debo buscar?

gracias por responder.

Por gVenom

19 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2009 05:32 pm
Vale, para llamar a un método llamado imprimir, en programación se dice: imprimir()

En tu caso, no hay un método que llamar, lo que haces es setear un estilo, supongo que será alguna forma rebuscada de invocar un método, pero no está nada claro, habría que estudiar como está estructurado tu HTML (aunque no yo, que de Javascript poco y nada)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Abr 2009 06:09 pm
ok, me explico.

tengo un texto normal en html que lo que hace es esto:

Código :

<a href="main.html" class="loadMe">home page</a>

simplemente llama a la pagina main y carga "loadMe", que es un archivo .js. El segundo caso es igual:

Código :

   1.
      <a href="#" onclick="javascript:document.getElementById('page-loader').style.display='none' ; document.getElementById('page-loader2').style.display='block';">nosotros.html</a>


es un texto con un link que tiene una accion de onclick y llama una función js en la misma página. Lo que pasa es que no se como expresar eso en flash, porque mi menu principal esta hecho en flash y no se como ponerle la instruccion para que haga lo mismo que los anteriores. :oops:

Por gVenom

19 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2009 06:15 pm
No llama a una función, setea un estilo. De todas formas puede que me equivoque, y en ese caso simplemente en el code que puse debajo reemplaza lafuncion() por la función que crees que llama

Código ActionScript :

on(press){
  getURL("javascript:lafuncion()")
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Abr 2009 07:17 pm
Si tienes razon en la primera, es una clase la que se carga, aun asi no se como ponerla. La segunda me da un monton de errores, porque la función va toda en el boton, no esta en un documento aparte:
on(press){

Código :

  getURL("javascript:document.getElementById('centro-home').style.display='block' 
    ; document.getElementById('centro-galeria').style.display='none'; document.getElementById('centro-nosotros').style.display='none'()") 
}


y eso en flash no me corre.

el boton lo que debe hacer es cambiar una propiedad del css, el display:block, y pasarlo a display:none o display block segun el boton presionado, eso es lo que hace el javascript.

Por gVenom

19 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2009 08:05 pm
Bien, ahora escribe una funcion en el HTML que haga esto

Código :

function cambiaEstilo(){
  document.getElementById('centro-home').style.display='block' ;
   document.getElementById('centro-galeria').style.display='none'; 
   document.getElementById('centro-nosotros').style.display='none'()") 


Luego desde el botón Flash

Código ActionScript :

on(press){ 
  getURL("javascript:cambiaestilo()") 
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Abr 2009 08:12 pm
excelente, eso de fijo si corre.

Gracias por tu tiempo solisarg

Por gVenom

19 de clabLevel



Genero:Masculino  

firefox

 

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