Comunidad de diseño web y desarrollo en internet online

texto dinamico con rollOver

Citar            
MensajeEscrito el 22 Oct 2008 11:40 am
Hola otra vez (segunda vez):

Tengo una consulta respecto a texto dinamico.
He buscado por ahi y solo he encontrado "pistas" de como solucionarlo pero nada concreto.
Resulta que tenco una caja de texto, dentro de un MC, el texto entra dinamicamente con etiqueta html <a href> que a su vez ejecuta una funcion AS con <asfunction,argumentos> es decir, que puedo pulsar la funcion se wejecuta perfectamente. El problema es que quiero que cuando pase el mouse por encima del texto (rollOver) haga otra cosa.

He probado a poner un boton o un MC debajo del texto (o encima), invisible o visible pero deja de funcionar en cuanto pasas el cursor por encima del texto ya que prevalece la etiqueta <a href> y si pones encima el boton no funciona el href... ¿me explico?...

He leido por ahi que se podria hacer algo con un listener y getFocus pero realmente no se muy bien como usar eso.
He colocado un setFocus (sin listener) y funciona cuando se pulsa sobre el texto.

Resumiento:
Busco una solucion para crear un texto dinamico con href y rollOver y que funcionen correctamente.
eternamente agradecido de antemano

Por jhaviro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Oct 2008 04:52 pm
aver si entendi
tenes un texto dentro de un mc
y al mc le diste funciones?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 22 Oct 2008 07:13 pm
Lo primero, gracias por tu interes.

El tema es bastante mas complicado pero te lo voy a explicar fuera como si hablaramos solamente de 1 MC.

tengo 1 texto html que meto en una caja de texto dinamica. Imagina:

Código :

instanciaCajaTexto.htmlText="<a href='prueba'>asfunction:mifuncion,20</a>"
//tal como ves, el texto es un link que llama a una funcion.
mifuncion=function(){
trace("hola");
}

Si pinchas en el texto "prueba" ejecuta la funcion "mifuncion" y quiero que hacciendo un "rollOver" en esa caja de texto haga otra cosa.
En "teoria" si pasas el raton por encima de una caja dinamica "deberia" tener el foco y haciendo un onSetFocus con un listener podria funcionar... pero mis pruebas me han llevado siempre a la necidad de pinchar en la caja para agarrar el foco.
Tambien he probado metiendo la caja de texto en un MC con un boton debajo pero el texto que esta encima, con el <href> impide que funcione el boton. Si pongo el boton encima del texto no se puede pinchar en el link del texto.

se entiende mejor???
gracias otra vez

Por jhaviro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Oct 2008 08:01 pm
ssii
probaste usando hitTest?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 22 Oct 2008 08:28 pm
Hola otra vez:
Si probe con hitTest.
Sobre la caja de texto no funciona, colocando un MC detras si que funciona pero tengo que meter el hitTest en un EnterFrame y son mas de 350 mc (son clips dinamicos)... y tanta cantidad de clips, todos con enterframe... no es operativo... es mas, es posible que sean mas MC porque los extraigo de un XML que no conozco...

Se me ha ocurrido algo que te cuento mañana, ahora estoy probandolo.

Gracias.

Por jhaviro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Oct 2008 10:51 pm
@jhaviro, los eventos de los textos en flash solo son al hacer clik. Pero puedes crear un fichero css con los estilos de tus links para que al pasar por encima de uno adquiera el estilo que hayas definido.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 23 Oct 2008 12:18 am
prueba ubicando tu TextField dentro de un MC:

Código ActionScript :

format = new TextFormat();
format.bold = true;
//
this.createEmptyMovieClip("linkMovieClip", this.getNextHighestDepth());
this.linkMovieClip.createTextField("linkTxt", 1, 200, 25, 163, 19);
//
with (this.linkMovieClip.linkTxt) {
    //
    border = true;
    html = true;
    linkMovieClip.linkTxt.htmlText= "<u>mostrar mensaje</u>";
    textColor = 0xFF0000;
    setTextFormat(format);
}
//
this.linkMovieClip.onRollOver = function() {
   this.linkTxt.textColor = 0x3366ff;
 };
//
 this.linkMovieClip.onRollOut = function() {
    this.linkTxt.textColor = 0xff0000;
 };
//
this.linkMovieClip.onRelease = function() {
    trace("hello!");
 };
// 

Por penHolder

Claber

4661 de clabLevel

39 tutoriales
2 articulos

Genero:Masculino   Premio_Secretos

| mdz |

firefox
Citar            
MensajeEscrito el 29 Oct 2008 07:45 pm
Siento haber tardado tanto en contestar y dar las gracias.
Mi Placa Base (MotherBoard para los puristas) murio y hasta ahora no he podido montar otra maquina para trabajar.

Retomando el hilo... la "idea" de la que hablaba mas arriba la he tenido que desechar porque, si bien, funciona, la PC se queda tiritando... Resumiendo, habia creado un hitTest en un enterFrame por cada clip attachado dinamicamente, pueden salir MUUUUUchos (mas de 400) clips... asi que, aunque meti un delete onEnterFrame.... se quedaba tieso... Asi que sigo igual.... PERO....

ya hevisto la solucion que me dais y sinceramente es BRILLANTE (aun no la he probado). No se me ocurrio jugar con CSS. Esta buenisimo. Lo pruebo y os digo que tal.

Muchisimas gracias por la pista a "elchininet" y por el code a "penHolder"

Por jhaviro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Oct 2008 09:00 pm
Despues de darle vueltas y buscar en google... no encuentro una manera de meter una funcion dentro de un CSS. En la etiqueta a:hover podria ser pero no encuentro la sintaxis o no existe... si alguien me puede aclarar ideas lo agradeceria.
La opcion de meterlo en un clip parece que funciona aunque tendre que rehacerme las rutas de los clips dinamicos.
Como yo no creo las cajas de texto con createTextField ya que son cajas dinamicas fijas, mi intencion es convertir cada caja en un clip e intentar adaptar el codigo de penHolder...

Solo una aclaracion: el estilo que tienen esas cajas de texto son links (a:hover) es decir, no quiero definir un estilo, ya tiene, lo que pretendo es que ejecute una funcion al pasar el mouse por encima del texto. ¿es posible llamar a una funcion AS desde un CSS? lo intente de la siguiente manera:

Código :

a:hover{
     color:#000000
     asfunction:funcion,parametro
}

pero asi no funca...

Por jhaviro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Oct 2008 11:11 pm
Termino de probar el codigo de penHolder, funciona correcto salvo por el detalle de añadir la etiqueta <a href> y le colocas un "asfunction"... :(, como se suele decir por aqui... mi gozo en un pozo... pero seguire intentandolo.
Gracias por la colaboracion.
En cuanto encuentre una solucion, un invento, un parche o alguna manera de hacerlo hago un copy/paste.

Ultimo recurso: un boton abajo aunque no funcione correctamente. Aunque es una chapuza, no se me ocurre nada mas...

Por jhaviro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Oct 2008 06:46 pm
Pues si no hay ninguna sugerencia voy a cerrar el hilo.
por mi parte no he encontrado ninguna solucion "viable" aunque he probado, testeado y buscado bastante (ya se que nunca es suficiente)...

Al final he decidido no complicarme y eliminar las etiquetas html href. De ese modo coloco un Mclip y lo uso como boton y listo parecido a como me escribio penHolder.
El tiempo pasa y no puedo seguir eternamente buscando algo que ni siquiera se si se puede realizar.
resumo para el que le interese:
Debia realizar un attach de Mclips con cajas de texto dinamico html con etiquetas href.(links)
Primero queria meter todos los attach en una mascara dijnamica y lo consegui con algun aporte del foro.
despues queria hacer un rollOver sobre el texto html (parecido a a: hover, en CSS)...
al final... elimino las etiquetas y meto un Mclip como boton en cada uno y listo.

Me empeñe en hacerlo de una manera y a veces, la solucion es tan sencilla como hacerlo de otro modo o renunciar por cumplir en tiempos de realizacion.

Debo daros las gracias por vuestra ayuda.
Saludos.

Por jhaviro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 10 Mar 2009 01:25 pm
var row = document.createElement("tr")
row.id="fila";
row.className ='destacado';
row.bgColor="#FFFFFF";
row.onmouseover= function(){this.className='highlight'}
row.onmouseout=function(){this.className='destacado'}

Por dconsolidado

0 de clabLevel



 

firefox

 

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