elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Problema con script de transparencia
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con script de transparencia  (Leído 2,485 veces)
j_junquera

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Problema con script de transparencia
« en: 13 Abril 2013, 16:37 pm »

Hola, es mi primer post en este foro, llevaba mucho sin entrar.
Mi problema es que estoy intentando hacer un script de javascript (soy novato en este leguaje) para dar transparencia gradual a una imagen, pero me da problemas porque solo saca el valor final de transparencia. Me da la impresión de que solo saca la última salida de la función al probarlo en la consola de firebug, pero no sé arreglarlo.

El código es el siguiente:

Código:

//Método para que la función pare y hacerlo gradual
function sleep(milisegundos) {
  var inicio = new Date().getTime();
  while((new Date().getTime() - inicio) < milisegundos){}
}

//Método para la transparencia
function transparente(){
var elemento = document.getElementById("aqua");
 
        //De 0.02 en 0.02 va bajando la opacidad del elemento
for(i=1; i>=0;i=i-0.02){
elemento.style.opacity=i;
                //Espera para hacerlo gradual
sleep(200);
}
}


Espero que alguien pueda ayudarme, llevo ya mucho tiempo comiendome el tarro y googleando pero nada...

Gracias de antemano, un saludete ;D


En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Problema con script de transparencia
« Respuesta #1 en: 13 Abril 2013, 16:53 pm »

Yo que tu, trabajaría con jQuery

http://jquery-manual.blogspot.com/2012/05/generar-transparencia-con-fadeto-jquery.html

1 minuto en google xD


En línea

j_junquera

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Problema con script de transparencia
« Respuesta #2 en: 16 Abril 2013, 12:06 pm »

Si, si el problema no es poder darle la transparencia gradual, acerca de eso sí que he encontrado mil soluciones, de lo que me pica la curiosidad es de saber cómo podría hacerlo sin recurrir a nada fuera de mi código (al igual que en otros lenguajes se pueden hacer tareas asíncronas que modifiquen la GUI)...
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Problema con script de transparencia
« Respuesta #3 en: 16 Abril 2013, 14:53 pm »

No hagas un sleep, considera utilizar un Interval (timer) que se ejecute cada X ms y se detenga una vez el valor de i ha llegado a 10.

Código
  1. var gradual = function(){
  2.   var elemento = document.getElementById("aqua");
  3.   var i = 0;
  4.   // Abrimos un Timer que se ejecute cada 150 ms.
  5.   var chipiron = setInterval(function(){
  6.      // Si el valor de i es menor o igual a nueve...
  7.      if(i<=9){
  8.         elemento.style.opacity="0."+i;
  9.         i++;
  10.      // En caso de que el valor sea mayor.
  11.      } else {
  12.         // Opacidad 0%
  13.         elemento.style.opacity="1";
  14.         // Limpiamos el Timer
  15.         window.clearInterval(chipiron);
  16.         // Devolvemos True.
  17.         return true;
  18.      }
  19.   },150);
  20. };

Y al reves:
Código
  1. function gradual(){
  2.   var elemento = document.getElementById("aqua");
  3.   var i = 9;
  4.   // Abrimos un Timer que se ejecute cada 150 ms.
  5.   var chipiron = setInterval(function(){
  6.      // Si el valor de i es mayor o igual a 1
  7.      if(i>=1){
  8.         elemento.style.opacity="0."+i;
  9.         i--;
  10.      // En caso de que el valor sea menor
  11.      } else {
  12.         // Opacidad 0%
  13.         elemento.style.opacity="1";
  14.         // Limpiamos el Timer
  15.         window.clearInterval(chipiron);
  16.         // Devolvemos True.
  17.         return true;
  18.      }
  19.   },150);
  20. };

Saludos
« Última modificación: 16 Abril 2013, 14:56 pm por drvy | BSM » En línea

j_junquera

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Problema con script de transparencia
« Respuesta #4 en: 19 Abril 2013, 13:01 pm »

¡Perfecto!  :D
Muchísimas gracias. No conocía el método setInterval y por eso hice el sleep (vengo de hacer Java, tiendo a usar lo mismo aquí), pero este me ha gustado.
Muy agradecido, de verdad. Un saludo ;D
En línea

eltec

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: Problema con script de transparencia
« Respuesta #5 en: 23 Abril 2013, 10:15 am »

Muchas gracias, tenia un problema similar y este thread me fue muy útil

Un saludo
En línea

“Dicen que los pesimistas ven el vaso medio vacío; los optimistas, en cambio, lo ven medio lleno. Los ingenieros, por supuesto, ven que el vaso es el doble de grande de lo que sería necesario”
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Transparencia el Illustrator
Diseño Gráfico
AsesorWeb 3 2,217 Último mensaje 28 Abril 2006, 09:16 am
por aNexos
Transparencia como es?
Programación Visual Basic
astaroth_15 3 1,340 Último mensaje 21 Agosto 2006, 22:03 pm
por Zeroql
Transparencia en un TextBox
Programación Visual Basic
nahueld 3 2,924 Último mensaje 3 Junio 2008, 17:07 pm
por seba123neo
Transparencia en un check
Programación Visual Basic
WestOn 4 2,260 Último mensaje 19 Noviembre 2008, 19:07 pm
por WestOn
Aplicar transparencia
Programación C/C++
Riki_89D 1 1,703 Último mensaje 7 Mayo 2011, 14:33 pm
por Riki_89D
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines