2010-03-09 7 views
2

Je fais un appel Ajax et en réponse je voudrais cacher un div. En ce moment, je suis capable de le faire avec succès, mais c'est un peu rapide. Je veux un effet de fondu dessus. Comment faire en un seul coup?Besoin d'avoir un effet de fondu en Javascript

Voici mon code actuel.

var someDiv = document.getElementById(someId); 
someDiv.style.display="none"; 

Merci beaucoup d'avance!

Répondre

5

Content de voir les cinq réponses à ce jour se référer à jQuery.

Il ya plusieurs articles pour créer un fade effect using vanilla Javascript, mais soyez fatigué du Javascript que la plupart des gens publient en ligne.

+0

@strager: +1 merci pour le lien, exemple très intéressant. –

1

utilisation jQuery ...

$('#someId').fadeOut(); 

Et voici l'API de référence dans le cas où vous avez besoin de quoi que ce soit modifier l'effet de fadeOut:

.fadeOut() - jQuery API

+0

Hehe, d'accord, vous étiez le premier;) – MyGGaN

+1

Quelle est la taille de jQuery? – bragboy

+0

1.4 est 70.4Kb Minifié. –

0

je pourrais vous recommandons d'utiliser un cadre (I préférez jQuery). Il va également gérer le support multi-plateforme.

$('#div-id-here').fadeOut('slow'); 

Pour plus d'informations consultez la documentation: jQuery fadeOut

0

Que diriez-vous de recourir à jquery? Tout ce dont vous aurez besoin est un '.fadeOut()' et vous êtes prêt à partir

0

Jetez un oeil à la fonction jQuery fadeOut.

3

Si vous souhaitez renoncer jQuery ou cadres, c'est un modèle que vous pouvez utiliser:

function fadeThisElement(elm, interval) { 
    for (var i=10; i>0; i--) { 
    var opacity = i/10; 
    setTimeout(function(opacity) { 
     elm.setStyle("-moz-opacity",opacity); 
     elm.setStyle("opacity",opacity); 
     elm.setStyle("filter","alpha(opacity=" + (opacity*100).toString()); 
     //set your alpha values for the various browsers 
    }, interval; 
    } 
} 

Donnez l'intervalle en millisecondes. Je suggère 10 pour un fondu de 10 étapes.

0

Je vais jeter dans la version MooTools pour faire bonne mesure:

$('myid').fade(opacity) 

où l'opacité est une valeur dans l'intervalle [0,1]. Vous pouvez également l'appeler comme:

$('myid').fade('out') 

Il y a plus options disponibles. MooTools a une taille de 65 Ko (YUI compressé).

Questions connexes