162 messaggi dal 07 novembre 2003
Con una serie di aiuti sono riuscito a creare questo codice che mi permette di mostrare una div all'ingresso della pagina dopo 1 sec con effetto fade in.
Il codice è questo
<script type="text/javascript">
function opacity(id, opacStart, opacEnd, millisec) {
  //speed for each frame
  var speed = Math.round(millisec / 100);
  var timer = 0;

  //determine the direction for the blending, if start and end are the same nothing happens
  if(opacStart > opacEnd) {
    for(i = opacStart; i >= opacEnd; i--) {
      setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
      timer++;
    }
  } else if(opacStart < opacEnd) {
    for(i = opacStart; i <= opacEnd; i++) {
      setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
      timer++;
    }
  }
}

function visualizzaDiv(){
  objDiv=document.getElementById('FadeIn');
  opacity('FadeIn', 0, 100, 1500);
  objDiv.style.display='block';}

window.onload=function(){ setTimeout('visualizzaDiv()',3000);}
</script>

Problema 1. Se la testo con firefox funziona. Con IE non ho ancora provato e con Safari, invece, al termine dell'effetto fade la div contenitore mi diventa più piccola come se gli impostassi delle dimensioni differenti.

Problema 2. Al primo ingresso di ogni sezione del menu è giuto che compia l'effetto di comparsa in dissolvenza. Ma in alcune parti del sito, la div contiene dei form, che si ricaricano nella stessa pagina. Qui invece non vorrei farli fare dinuovo l'effetto di ingresso, perchè sono già in quella pagina.

Come posso risolvere i due problemi? Sicuramente il primo mi preoccupa di più per la corretta compatibilità con i diversi browers.

Grazie

Grazie :)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.