Visualizzazione risultati 1 fino 11 di 11

Discussione: [JS] Immagine che si espande e si comprime

  1. #1
    Guest

    Predefinito [JS] Immagine che si espande e si comprime

    Ciao a tutti!
    Ho fatto questo script:
    Codice HTML:
    <script language="javascript">
    var altezza=0;
    var esp=0;
    
    function cronologia(){
     if(esp==0){
     exp=setInterval("espandi()",10);
     esp=1;
     }else{
     comp=setInterval("comprimi()",10);
     esp=0;
     }
    }
    
    function espandi(){
    var immagine = document.getElementById("cronologia");
    var hal=immagine.style.height.replace("px","");
     if(hal!="520"){
      immagine.style.height=altezza;
      altezza=altezza+10;
      }else{
      clearInterval(exp);
      }
    
    }
    function comprimi(){
    var immagine = document.getElementById("cronologia");
    var hal=immagine.style.height.replace("px","");
     if(hal>=0){
      immagine.style.height=altezza;
      altezza=altezza-10;
      }else{
      clearInterval(comp);
      }
    
    }
    
    </script>
    
    <img id="cronologia" style="width:300px;height:0px" src="cronologia.png"/><br>
    <a href="javascript:cronologia()">Cronologia</a>
    che permette, cliccando su Cronologia, di espandere e comprimere l'immagine cronologia.png. Con FireFox funziona tutto benissimo mentre con IE si espande, si comprime e mi da un errore (che non ho capito nemmeno quale) e si blocca il tutto (non è più possibile espanderlo).

    Sapete perchè IE mi fa sto scherzo?

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ma comp e exp dove li crei? Poi non manca la funzione clearInterval?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Codice:
    <script language="javascript">
    var altezza=0;
    var esp=0;
    
    function cronologia(){
     if(esp==0){
     exp=setInterval("espandi()",10);
     esp=1;
     }else{
     comp=setInterval("comprimi()",10);
     esp=0;
     }
    }
    
    function espandi(){
    var immagine = document.getElementById("cronologia");
    var hal=immagine.style.height.replace("px","");
     if(hal!="520"){
      immagine.style.height=altezza;
      altezza=altezza+10;
      }else{
      clearInterval(exp);
      }
    
    }
    function comprimi(){
    var immagine = document.getElementById("cronologia");
    var hal=immagine.style.height.replace("px","");
     if(hal>=0){
      immagine.style.height=altezza;
      altezza=altezza-10;
      }else{
      clearInterval(comp);
      }
    
    }
    
    </script>
    E' tutto lì...
    Mi dà un errore nella linea
    Codice:
    if(hal>=0){
      immagine.style.height = altezza;
      altezza = altezza-10;
    Ultima modifica di allo : 18-07-2006 alle ore 11.25.01

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Al posto di
    Codice:
    if(hal>=0){
    Prova a mettere:
    Codice:
    if(parseInt(hal)>=0){
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    Niente.. stesso errore..

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ma che errore ti dà?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    IE mi da "Argomento non valido" mentre ho appena fatto caso che la console javascript di FF dopo il primo ciclo espandi/comprimi mi dice "Errore nell'interpretazione del valore della proprietà 'height'. Dichiarazione tralasciata", anche se poi si può continuare il ciclo..

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova ad assegnargli oltre all'altezza anche il valore "px".
    Codice:
    immagine.style.height=altezza+"px";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    Non è cambiato niente... non riesco proprio a capire il perché...

  10. #10
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

  11. #11
    Guest

    Predefinito

    Risolto!
    Codice:
    <script language="javascript">
    var esp = 0;
    
    function cronologia(){
     if(esp==0){
      exp = setInterval("espandi()",10);
      esp = 1;
     }else{
      comp = setInterval("comprimi()",10);
      esp = 0;
     }
    }
    
    function espandi(){
     var immagine = document.getElementById("cronologia");
     var hl = parseInt(immagine.style.height);
     if(hl!=520){
      immagine.style.height = hl + 10;
     }else{
      clearInterval(exp);
     }
    }
    function comprimi(){
     var immagine = document.getElementById("cronologia");
     var hl = parseInt(immagine.style.height);
     if(hl!=0){
      immagine.style.height = hl - 10;
     }else{
      clearInterval(comp);
     }
    }
    
    </script>
    Praticamente il ciclo "comprimi" non si fermava mai, allora gli ho messo, anzichè >=0, !=0.

    Si può chiudere!
    Ultima modifica di allo : 18-07-2006 alle ore 13.18.00

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •