Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    FadeIn FadeOut div in loop automatico

    Salve ragazzi,
    al solito alle prese con javascript... vorrei creare un loop temporale dove far scomparire in fadeout un div dopo ad esempio 5 secondi e farlo riapparire in fadein dopo altri 5...
    Ho provato a creare qualcosa da solo e con l'aiuto di altri topic sul forum ma niente... al massimo lo fa una sola volta...
    potete aiutarmi?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228
    Ciao! Direi che la funzione setInterval fa al caso tuo, in pratica ogni tot ti richiama una tua funzione dove metti tutti i fadeout e gli altri effetti che vuoi... se dopo un po' deve smettere usi clearInterval.

  3. #3
    effettivamente ho omesso che non so quasi nulla di javascript...
    ho questo script recimolato un po in giro e modificato un po', ma non funziona come dovrebbe

    codice:
    <script type="text/javascript">
             var opacity = 0;
             var FRAME_RATE = 100;
             var PAUSE = 7;
             var MAX_OPACITY = 1;
    
    
             function fade(id) {
                numFrame = 1500/FRAME_RATE;
                step = (MAX_OPACITY-0)/numFrame;
                setTimeout('incrementOpacity("'+id+'",'+step+', '+MAX_OPACITY+')', FRAME_RATE);
             }
    
    
             function start(id) {
                numFrame = 1500/FRAME_RATE;
                passo = (1-0)/numFrame;
                setTimeout('incrementOpacity("'+id+'",'+passo+', 1)', FRAME_RATE);
             }
    
    
             function decrementOpacity(id, step, limit) {
                if (opacity>limit) {
                   opacity -= step;
                   var element = document.getElementById(id);
                   element.style.opacity = opacity;
                   element.style.filter = 'alpha(opacity=' + opacity*10 + ')';
                   setTimeout('decrementOpacity("'+id+'",'+step+', '+limit+')',FRAME_RATE);
                } else {
                   setTimeout('incrementOpacity("'+id+'",'+step+', '+limit+')',FRAME_RATE);
                }
             }
    		 
    		 function incrementOpacity(id, step, limit) {
                if (opacity<limit) {
                   opacity += step;
                   var element = document.getElementById(id);
                   element.style.opacity = opacity;
                   element.style.filter = 'alpha(opacity=' + opacity*10 + ')';
                   setTimeout('incrementOpacity("'+id+'",'+step+', '+limit+')',FRAME_RATE);
                } else {
                   setTimeout('decrementOpacity("'+id+'",'+step+', 0)', PAUSE*1000);
                }
             }
             
             function setEventHandlerById( id, event, func, invasive ) {
                setEventHandler(document.getElementById(id), event, func, invasive );
             }
             
             function setEventHandler( element, event, func, invasive ) {
                if( element.addEventListener ) { //Browser standard
                   element.addEventListener( event, func, true );
                }
                else if( element.attachEvent ) { //InternetExplorer
                   element.attachEvent( "on"+event, func );
                }
                //Se il booleano invasive è true e il browser molto vecchio
                //vengono sovrascritti gli altri handler dell'evento event dell'oggetto
                else if( invasive ) {
                   element["on"+event] = func;
                }
             }
    
    
             //Questo impone di eseguire il metodo di inizializzazione al termine
             //del caricamento della pagina
             //Così facendo si hanno a disposizione tutti gli elementi
             setEventHandler(window, 'load', function(){ start('riquadro'); }, true );
    		 window.setTimeout('start("riquadro")', 14000);
          </script>
    e richiamo dal body onLoad il window.setTimout

    ma non lo fa ciclicamente.... e oltretutto il div='riquadro' parte trasparente, insomma sono un po confuso...please help me

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.