In merito alla ua analisi ho provato a farlo con i css(con una breve ricerca su google ho trovato questo esempio):
codice:
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
document.getElementById('test').className = 'slideDown';
}, 0);
}, false);
</script>
<style type="text/css">
#test {
width: 200px;
padding: 0;
visibility: hidden;/*è questo elemento che impedisce la stampa*/
}
.slideDown{
animation-name: slideDown;
-webkit-animation-name: slideDown;
animation-duration: 5s; /*questa è solo la durata dell'animazione*/
-webkit-animation-duration: 5s;
animation-timing-function: ease;
-webkit-animation-timing-function: ease;
visibility: visible !important;
}
@keyframes slideDown {
0% {
transform: translateY(-100%);
}
50%{
transform: translateY(8%);
}
65%{
transform: translateY(-4%);
}
80%{
transform: translateY(4%);
}
95%{
transform: translateY(-2%);
}
100% {
transform: translateY(0%);
}
}
@-webkit-keyframes slideDown {
0% {
-webkit-transform: translateY(-100%);
}
50%{
-webkit-transform: translateY(8%);
}
65%{
-webkit-transform: translateY(-4%);
}
80%{
-webkit-transform: translateY(4%);
}
95%{
-webkit-transform: translateY(-2%);
}
100% {
-webkit-transform: translateY(0%);
}
</style>
<div id="test">
</div>
Ho fatto un semplice copia e incolla per vedere il funzionamento, ovvero se era applicabile al mio caso, e ho notato una aniomalia: se richiamo la pagina da indirizzo ottengo un'animazione corretta, se invece la richiamo tramite chiamata ajax(come devo fare obbligatoriamente), l'animazione non si verifica e stampa semplicemente a video quello che vede.
Ho modificato la durata dell'animazione mettendola a 5s per vedere se c'era un problema di ritardo, ma invece non c'è. Ultimo si deve tener conto che tutto questo contenuto è nella pagina richiamata dalla chiamata ajax che è perfettamente funzionante.
C'è un motivo per cui questi effetti non funzionano?