Hace unos días postee un aporte con una traducción y su explicación de algo que encontré por ahí sobre como hacer FadeIn en un div con un par de funciones de JavaScript, des pues de jugar un rato esto es lo que logré:
JavaScript el codigo es bastante sencillo, en primer lugar declaramos un par de variables
Código :
var time; var transparency = 0;
ahora vamos con la funcion propiamente dicha:
Código :
function fadeIn() { // //incrementamos el valor transparency += 5; //si termino la trnsicion borramos el intervalo transparency = (transparency == 100) ? clearInterval(time) : transparency; //seteamos al div como objeto para poder usarlo obj = document.getElementById('fading'); //programamos cada navegador por separado if (document.all){ //esto es para IE, como siempre hay q programarlo a parte obj.style.filter = 'alpha(opacity='+transparency+')'; }else{ // Safari 1.2, posterior Firefox y Mozilla, CSS3 obj.style.opacity = transparency /100;
// anteriores Mozilla y Firefox obj.style.MozOpacity = transparency /100;
Juas! Con razón vi que el fade era a una imagen y me estaba preguntando que carajos hacian propiedades CSS de texto ahí. Muy buen PH. Gracias! Por:Kinduff
No consigo ver el ejemplo... Alguien me da norte??? Por:Señor Muñoz_blog
Señor Muñoz_blog :
No consigo ver el ejemplo... Alguien me da norte???
Yo este tipo de efecto en vez de hacerlo con este código lo haría directamente utilizando la librería jQuery. Con ello, nos aseguraremos que el correcto funcionamiento en los navegadores actuales sin ningún tipo de problema.
Después de la inclusión del fichero jQuery.js, realizar este efecto sería tan sencillo como: <pre> $('#nombreId').fadeIn('normal'); </pre>
Dónde nombreId es el id del objeto al cual queremos hacer un fadeIn.
Si queremos hacer por ejemplo que una imagen hace un fadeOut, cargamos otra imágen y luego hacemos un fadeIn, sería tan sencillo como:
El parámetro normal hace referencia a la velocidad del efecto. También se puede poner un valor numérico entre 0.1 y 1. Por:marcosFernandez_blog
Perdón por lo de <pre> creía que funcionaría. Por:marcosFernandez_blog
No deberías parar el "interval" en algun momento? Por ejemplo cuando la opacidad llegue al 100%.
Esta divertido el efecto.
Aunque es cierto que usando algun framework javascript, como jQuery (o cualquier otro) se consigue con muy poco codigo. Creo que habría que apuntar que, si sólo vamos a usar este pequeño efecto, el tamaño de la librería completa podría comprometer el tiempo de carga de la página. Así que es mejor escribir nuestra propia función. Por:ChickenExecutor_blog
el lo para... es un poco rara la linea por que no necesita el "else" ....