Llamar a una función desde Innerdiv
2 seguidores
Muy buenas,
Estoy intentando hacer una llamada a una función desde una capa creada con INNERDIV, pero me da fallo sin llegar a ejecutarlo.
alguién sabe porqué puede pasar?
Gracias!.
PD: He intentado meter el codigo pero me elimina la mitad de él al enviar el post :0
hartum
holaaaaaa alguien que usa innerdiv, increible,jejejeje.
a ver dime ¿donde esta la función?¿y donde haces la llamada?
speak121
hola Hartum!
Pues si, utilizo InnerDiv y además me gusta (debo ser muy friki jaja)
Explico mejor como va todo esto jeje.
Una página que lanza dos capas con InnerDiv, la primera es un menu y la otra llamada 'contenido' es.. pues eso, lo que va cargando el menú.
En la capa del menú se carga éste y por medio de hiperenlaces con eventos on click llamando a InnerDiv.cargar cargo el contenido de lo que quiero en la otra capa.
Hasta ahí todo bien, funciona todo perfecto.
Ahora viene lo que me está costando. Si en vez de llamar todo el rato a
<a href="#" onclick="INNERDIV.cargar('contenido', 'opcion1.htm')>--</a> hago una función por medio de javascript en la misma página, al que le paso esto: carga('opcion1.htm') para simplificar el código (ya que todos los enlaces apuntan a la capa 'contenido'), deja de funcionar.
He probado a no hacer la llamada a InnerDiv, sino simplemente un alert. Y pasa lo mismo.
La pregunta, y después del tostón que estoy metiendo, es si se puede llamar desde una capa InnerDiv, por medio de un hiperenlace a una función, que está dentro del mismo html.. o esto no es posible.
Puff espero no liarte demasiado.
PD:
pregunta2 -> se puede enviar un argumento por medio de la función Cargar que modifique el texto de la barra? o para eso hay que modificar el código del InnerDiv.js?
pregunta3 -> estoy pensando en poder utilizar INNERDIV en una página comercial, se podría hacer? tendría algún coste?
Muchas gracias :P
hartum
speak21 Me alegro de que te gusten :-), con eso ya es suficiente satisfacción personal para mi.
Puedes usarlas en donde quieras las librerías son de libre uso distribución y modificación, eso si, si las mejoras mándame los cambios please.
Ahora vamos al turrón:
después de leer toda la historia, lo que creo que esta pasando es lo siguiente, la función que tu escribes, y que como dices no te funciona, esta en el header de la pagina(o importada), de cualquier modo lo que te quiero decir es que cuando tu llamas/ejecutas la función, el menú aun no existe dentro de la página, por eso cuando el menú se carga dentro de una ventana innerdiv no tiene ningun evento asociado. es decir las opciones del menu no llaman a ninguna función, porque el código que les indica lo que tiene que hacer se ejecuto antes de que las opciones existiesen.
Yo te recomiendo que uses un gestor de eventos, para no tener que estar pendiente de esas cosas, este me encanta y es el que siempre uso:
http://www.bennolan.com/behaviour/
cada vez que cambies algo en el dom y aparezcan cosas que antes no existian solo tienes que ejecutar: Behaviour.apply() ;
y se encarga de asignar de nuevo todos los eventos a sus elementos correspondientes. Cuentame que tal te va.
pd: no implemente ningun evento onload para las innerdiv, "craso error" puedes poner Behaviour.apply() ; al final de la funcion de carga en las innerdiv o hacerte un evento onload, como tu prefieras.
speak121
voy a ponerme con ello. Por el momento no sé ni lo que es el DOM jajajajaa (que triste mi vida xDD)
Te cuento mis progresos ^^
Gracias!
hartum
[modo piedras contra mi tejado]
Las innerdiv tiene ya un par de añitos y tienen bastantes limitaciones, si no quieres volverte muy loco yo la verdad es que te recomendaria otras aplicaciones, esta esla hoooooooooooooooooooooooostia:
http://greghoustondesign.com/demos/mocha/
[/modo piedras contra mi tejado]
p.d: pa mi que soy tonto por poner estas cosas.
speak121
jaja aún así te sigo dando las gracias por las innerdivs jeje
voy a ver esas porque, a parte de desconocer por completo el DOM, tampoco me quiero complicar mucho haciendo esto.
Gracias por todo!