Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 15 su 25

Discussione: Div a comparsa

  1. #1
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    Div a tempo

    Spero di essere nel posto giusto, sempre sia possibile fare questa cosa.
    All'interno di una pagina ci sono tre div che caricano dei contenuti
    E' possibile fare in modo che una di queste carichi il suo contenuto:
    1. Con effetto fade in
    2. Con 2 secondi di ritardi rispetto alle prime due div?

    E' possibile fare entrambe le cose o almeno una dell due? :master:

  2. #2

  3. #3
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Azz detto cosi mi è difficile... mi studio qualcosa se la trovo.
    Ma se mi potresti fare un esempio te ne sarei grato.

  4. #4

  5. #5
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Dunque iniziamo con la temporizzazione prima di passare al fade..
    la div che contiene la parte da mostrare dopo 2 secondi è

    <div id="temporize"></div>

    Mentre il codice dello script è:
    <script type="text/javascript">
    <!--
    function DivTime()
    {
    //Genera il link al file zippato da scaricare
    location.href = "http://www.server.com/directory/file.zip";
    }

    //Fa partire il download dopo 10 secondi da quando
    //l'intermprete JavaScript ha rilevato la funzione
    window.setTimeout("DivTime()", 2000);
    //-->
    </script>

    Ma in questo caso nel'href devo mettere il contenuto da caricare nella div (che è una pagina estera)?
    Poi invece di window.setTimeout dovrò dirgli associarlo all'id della mia div?

    :master:
    GFrazie per la pazienza --- JavaScript world is a new world

  6. #6
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    ip?

  7. #7
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    Div a comparsa

    Ho trovato un script che mi permette di visualizzare una div con effetto fade.
    La div in questione è

    <div id="FadeIn"><?php require(DIR_AV_BOXES . 'chi_siamo.php'); ?</div>

    e il codice è
    codice:
    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++;
    		}
    	}
    }
    nel body ho messo cosi
    <body onLoad="javascriptpacity('FadeIn', 0, 100, 1500)" >

    Il problema è che l'effetto viene inizializzato ma al primo ingresso della pagina si vede la div e subito dopo scompare per poi tornare con l'effetto fade. Perchè questo?

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Che bisogno avevi di aprire un'altra discussione sullo stesso argomento?

    Questa volta le unisco, in seguito evita

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Non lo fatto in malafede era solo perchè il primo post aveva preso la piega di riguardare solo la parte della div che compare a tempo, mentre il nuovo post riguarda l'effetto fade... hai ragione ma era solo per non far confusione.

    Messaggio ricevuto ed ero anche titubante nella decisione se aprire il nuovo post o meno...


    In ogni caso sapete darmi un cosniglio su come procedere?

  10. #10
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    up?

  11. #11
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Ragazzi sono tornato al lavoro per questa cosa del div as comparsa.+
    Potete ridare un'occhiata alla discussione?
    grazie

  12. #12
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    La div adesso compare in modo corretto dopo 3sec;
    ora ho un codice che crea una funzione per un effetto fadeIn.

    codice:
    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++;
    		}
    	}
    }
    Il codice viene richiamato cosi
    <body onLoad="javascriptpacity('FadeIn', 0, 100, 1500)" marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

    in questo modo, però non funziona in modo corretto.
    Posso applicare onload solo al div e non al body della pagina?

  13. #13
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Provo a prendere un'altra strada, ovvero incorporare le dued function, ma come?

    codice:
    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++;
    		}
    	}
    }
    Posso fare in modo che questa funzione sia anche unità a questa?
    codice:
    window.onload=function(){
      objDiv=document.getElementById('DivTime');
      setTimeout("objDiv.style.display='block'",1000);
    }

  14. #14
    VVoVe: VVoVe: che casino....
    cmq, da quello che ho capito tu vuoi far apparire un div dopo tre secondi e fare in modo che appaia con un fade-in,giusto?
    ok, allora tu puoi fare una cosa del genere:
    - metti il tuo div
    Codice PHP:
    <div id="FadeIn" style="display:none"><?php require(DIR_AV_BOXES 'chi_siamo.php'); ?></div>
    - metti il codice js
    codice:
    function visualizzaDiv(){
      objDiv=document.getElementById('FadeIn');
      opacity('FadeIn', 0, 100, 1500);
      objDiv.style.display='block';}
    
    function opacity(id, opacStart, opacEnd, millisec) {...}	
    
    window.onload=function(){ setTimeout('visualizzaDiv()',3000);}
    piccolo dubbio: la funzione opacity() richiama una funzione changeOpac(), che qui non vedo riportata ce l'hai vero???

    Spero che funzioni, perchè senza la changeOpac(), non posso provarlo

  15. #15
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Innanzitutto grazie dvjack...
    Riporto tutto quello che ho impostato ora:

    codice:
    <script type="text/javascript">
    function visualizzaDiv(){
      objDiv=document.getElementById('FadeIn');
      opacity('FadeIn', 0, 100, 1500);
      objDiv.style.display='block';}
    
    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++;
    		}
    	}
    }
    
    
    window.onload=function(){ setTimeout('visualizzaDiv()',3000);}
    </script>
    Dunque, funziona in parte nel senso che dopo 3 secondi parte l'effetto fade; Dopo il 3° secondo compare la div per neanche mezzo secondo al 100%, per poi passare allo 0% e ritornare al 100% come richiesto. come mai compare in quel punto?

    Ho notato anche che se nella div c'è un link che si ricarica nello stesso, fa lo stesso effetto di comparsa; qui, invece non vorrei che lo facesse... :master:

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 © 2025 vBulletin Solutions, Inc. All rights reserved.