Apertura popup temporizzate a pieno schermo 1920x1080px!

Discussione in 'Javascript' iniziata da Horsepower, 7 Marzo 2012.

  1. Horsepower

    Horsepower Nuovo Utente

    Registrato:
    7 Marzo 2012
    Messaggi:
    15
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Hai fatto centro!!! Però...

    Grazie mille!:elvis:
    E' tutto a posto! O quasi...
    Piccola correzione (se possibile):
    -Sarebbe fattibile far partire l'array sempre dalla prima pagina 0: "StillLife.html" e poi proseguire oltre...
    Perchè mi parte a volte dalla seconda pagina, a volte dalla terza, ecc...
    Spero non ti innervosisca le cervella...a volte mi passa il mal di testa con Mom.nt o l'Aspir.na C, ma non con il linguaggio C sicuramente!
    Grazie ancora!:mavieni:
    Ecco il mio codice definitivo:
    Pesca da qui per le modifiche!:
    Codice:
    <script type="text/javascript">     
        var i = 0;
        function ApriPopup(){ 
            // 4 è l'ultimo indice dell array'
            if(i > 4) {
                // se finito l'array ripartiamo dal primo elemento
                i = 0;
            }
            var arraypagine = new Array(
            "StillLife.html",
            "StarryNight.html",
            "PersistenceOfMemory.html",
            "TheCastleOfPyrenees.html",
    	"Estratto.html");               
            
            // imposto i parametri della popup
            var parametri = 'toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=600,height=800';
            finestra = window.open(arraypagine[i],"popup",parametri);
            i++;  
            // richiamo la funzione ogni 5 secondi
            popup = setTimeout('ApriPopup()',5000);      
        }
        
        function ChiudiPopup() {
            // se la popup non è gia chiusa
            if (!finestra.closed) {
                //la chiudo
                finestra.close();
                // annullo il setTimeout
                clearTimeout(popup); 
            }
        }
        
    </script>
    </head>
    <body>
        <input type="button" value="apri popup" onclick="ApriPopup()" />
        <input type="button" value="Chiudi popup" onclick="ChiudiPopup()" />
    </body>
    
     
    Ultima modifica: 9 Marzo 2012
  2. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    Non mi viene in mente niente di piu serio

    apparte aggiungere un parametro alla funzione:

    Codice:
    <script type="text/javascript">     
        var i = 0;
        function ApriPopup(indice){ 
            
            if(indice=="azzera") {
                i = 0;
            }
           // 3 è l'ultimo indice dell array'
            if(i > 3) {
                i = 0;
            }
            var arraypagine = new Array(
            "StillLife.html",
            "StarryNight.html",
            "StillLife.html",
            "TheCastleOfPyrenees.html");               
            
            // imposto i parametri della popup
            var parametri = 'toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=600,height=800';
            finestra = window.open(arraypagine[i],"popup",parametri);
            i++;  
            // richiamo la funzione ogni 5 secondi
            popup = setTimeout('ApriPopup("nonazzerare")',5000);      
        }
        
        function ChiudiPopup() {
            // se la popup non è gia chiusa
            if (!finestra.closed) {
                //la chiudo
                finestra.close();
                // annullo il setTimeout
                clearTimeout(popup); 
            }
        }
        
    </script>
    </head>
    <body>
        <input type="button" value="apri popup" onclick="ApriPopup('azzera')" />
        <input type="button" value="Chiudi popup" onclick="ChiudiPopup()" />
    </body>
    </html>
    PS: avevo modificato la larghezza della popup
    Se si apre full screen come fai a vedere il pulsante stop?
     
    Ultima modifica: 9 Marzo 2012
  3. Horsepower

    Horsepower Nuovo Utente

    Registrato:
    7 Marzo 2012
    Messaggi:
    15
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Si aprono 2 popup anzichè 1 sola...

    1)Si aprono 2 popup...di nuovo.:dipser: Anche se finalmente parte dalla 1a pagina!
    2)A proposito, mi viene il dubbio che non hai dichiarato la funzione "nonazzerare":
    popup = setTimeout('ApriPopup("nonazzerare")',5000);

    Forse è questo che pianta casini?
    E fare una sorta di condizionale con "else if":

    if(indice=="azzera") {
    i = 0;
    }
    else if (indice=="nonazzerare"){
    i = ???;
    }

    Dove ad "i = ???" bisognerebbe mettere un valore che faccia continuare l'array?
    PS:per il fullscreen, non importa, va bene così: io uso l'interfaccia "Aero" di Windows7; metto in primo piano la mainpage, anzichè la popup fullscreen, e premo il pulsante di "Stop".
     
    Ultima modifica: 9 Marzo 2012
  4. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    non è una funzione, è un parametro per la funzione apriPopup(parametro);

    se = a stringa "azzera" azzera se no non serve che faccia niente

    posta il tuo codice
     
  5. Horsepower

    Horsepower Nuovo Utente

    Registrato:
    7 Marzo 2012
    Messaggi:
    15
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Eccoti il mio codice di 0,1,2,3,4 pagine:
    Codice:
    <script type="text/javascript">     
        var i = 0;
        function ApriPopup(indice){ 
            
            if(indice=="azzera") {
                i = 0;
            }
           // 4 è l'ultimo indice dell array'
            if(i > 4) {
                i = 0;
            }
            var arraypagine = new Array(
            "StillLife.html",
            "StarryNight.html",
            "PersistenceOfMemory.html",
            "TheCastleOfPyrenees.html",
            "Estratto.html");               
            
            // imposto i parametri della popup
            var parametri = 'toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=600,height=800';
            finestra = window.open(arraypagine[i],"popup",parametri);
            i++;  
            // richiamo la funzione ogni 5 secondi
            popup = setTimeout('ApriPopup("nonazzerare")',5000);      
        }
        
        function ChiudiPopup() {
            // se la popup non è gia chiusa
            if (!finestra.closed) {
                //la chiudo
                finestra.close();
                // annullo il setTimeout
                clearTimeout(popup); 
            }
        }
    </script>
    </head>
    <body>
        <input type="button" value="apri popup" onclick="ApriPopup('azzera')" />
        <input type="button" value="Chiudi popup" onclick="ChiudiPopup()" />
    </body>
    
     
    Ultima modifica: 9 Marzo 2012
  6. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    l'ho provato e a me si apre una sola popup

    C'è un problema da risolvere sul tasto chiudi che va in errore se la finestra è gia chiusa
     
  7. Horsepower

    Horsepower Nuovo Utente

    Registrato:
    7 Marzo 2012
    Messaggi:
    15
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Adesso ho capito. Va benissimo così! Grazie infinite!

    Va bene, dài, è sufficiente. Va benissimo così! Grazie infinite!:beer:

    Se ce la fai ancora, avrei un ultimo problema, solo sulla pagina "Estratto.html", che sempre quelli di www.HT.L.it non mi hanno per niente risolto!:hammer:
    Ti posto la situazione attuale della pagina, che purtroppo parte subito con lo scroll:
    http://www.cavallodario.it/3dc01/Unity_Fullscreen/Estratto.html

    -Io vorrei aggiungere semplicemente un ritardo allo scroll del div della pagina, di tot secondi, con "setTimeout", di modo che:
    - all'inizio stia ferma per tot secondi, e poi parta lo scroll
    - alla fine dello scroll, si fermi per tot secondi, dopo tot pixels di scroll verticale (dove c'è il LOGO 3DC multimedia Productions)

    Questo, tutte le volte che riprende a ripartire, dal basso verso l'alto, ciclando come ora (perchè ora cicla).

    -Ma come al solito non so, nè come formulare la funzione, nè dove metterla!
    Illuminami!

    Codice di pagina "Estratto.html" :
    Codice:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Estratto</title>
    
    <style type="text/css">
    body {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 24px;
    	color: #FFF;
    	background-color: #000;
    	padding-top: 10px;
    	padding-right: 50px;
    	padding-bottom: 10px;
    	padding-left: 50px;
    }
    </style>
    
    <SCRIPT LANGUAGE="JavaScript">
    var scr;
    var dy=0;
    function scrolla(target) {
    var sd = document.getElementById(target);
    var ch = sd.clientHeight / 1;
    window.status = "dy="+dy + ", style.top=" + sd.style.top;
    dy=dy-1;
    if (dy <-ch) dy = -2;
    sd.style.top = ""+dy+"px";
    //alert(sd.style.top);
    //window.status="...";
    
    }
    function avviaScroll(target) {	
    var sd = document.getElementById(target);
    sd.style.display = "block";
    sd.style.position= "relative";
    sd.style.top = "0px";
    scr = window.setInterval("scrolla('" + target + "')",50);
    }
    
    function fermaScroll() {
    window.clearInterval(scr);
    scr = -1;
    }
    window.onload = function(){
    	setTimeout("avviaScroll('scrollDiv')",5000);
    }
    </SCRIPT>
    </head>
    
    <body scroll="no"> 
    <div class="parentDiv">
    <div id="scrollDiv" style="position: relative; top:1080px;" class="scrollDiv"
    onMouseOver="fermaScroll(this.id)" onMouseOut="avviaScroll(this.id)">
    
    <!--testo immesso...-->
    
    </div>
    </div>
    
    <script>
    window.onload = function() {avviaScroll("scrollDiv");};
    </script>
    </body>
    
    Quelli di www.HT.L.it, mi hanno detto di togliere questo codice, (del "scrollDiv"), all'inizio del <body> ...:
    Codice:
    onMouseOver="fermaScroll(this.id)" onMouseOut="avviaScroll(this.id)">
    
    ...e sostituirlo, aggiungendo questo Script nell'<head>:
    Codice:
    function inizializzaScroll(idElemento){
      avviaScroll(idElemento);
      document.getElementById(idElemento).onmouseover=function(){avviaScroll(this.id)}
      document.getElementById(idElemento).onmouseout=fermaScroll
    }
    
    window.onload=function(){setTimeout(function() {inizializzaScroll("scrollDiv");},5000)}
    
    Ma naturalmente non funziona, e non l'ho immesso!!!:incazz2:
    -Come posso fare, per ritardare lo scroll?
    :book:
     
    Ultima modifica: 10 Marzo 2012
  8. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    Ciao, ho cercato di capire lo script che hai postato ma niente da fare

    tra l'altro con explore non funziona

    allora ho provato a riscriverlo a modo mio

    Codice:
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Estratto</title>
    
        <style type="text/css">
            body {
                font-family: Arial, Helvetica, sans-serif;
                font-size: 24px;
                color: #FFF;
                background-color: #000;
                padding-top: 10px;
                padding-right: 50px;
                padding-bottom: 10px;
                padding-left: 50px;
            }
        </style>
        <script type="text/javascript">        
            var i=0;
            
            function scrolla() { 
                // annulli l'inizio'
                clearTimeout(init);
                i++;
                // sbirciata qui http://max400.forumfree.it/?t=55853207
                window.scrollTo(0,i);
                
                // richiamo della funzione
                scrollo = setTimeout('scrolla()',50);            
                // qui puoi calcolare il limite dove vuoi che si fermi
                if(i == 400) {
                    clearTimeout(scrollo); 
                    // azzeri l'incremento'
                    i=0;
                    // aspetti e riparti
                    init = setTimeout('scrolla()',5000);
                }
                
            }
            
            function inizia() {  
                // partenza
                init = setTimeout('scrolla()',5000);
            }
            
        </script>
    
    </head>
    <!-- all'avvio del body-->
    <body onload="inizia()"> 
        <div class="parentDiv">
            <div id="scrollDiv" class="scrollDiv">
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
                testo immesso...<br/>
    
            </div>
        </div>  
    
    </body>
    dovrai aggiunger le funzioni per fermarlo e farlo ripartire

    la mia idea piu o meno è cosi

    buon lavoro

    PS Mi sa che andrebbe riaperta un altra discussione
     
  9. Horsepower

    Horsepower Nuovo Utente

    Registrato:
    7 Marzo 2012
    Messaggi:
    15
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Finalmente! Adesso funziona il ritardo dello scroll! Ma come fare per fermarlo?

    Finalmente adesso funziona!:elvis:
    Ma come fare per fermare, (alla fine del testo), lo scroll, dopo tot secondi (o dopo tot pixels di scroll) ???
    Codice:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Estratto</title>
    
    <style type="text/css">
    body {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 24px;
    	color: #FFF;
    	background-color: #000;
    	padding-top: 10px;
    	padding-right: 50px;
    	padding-bottom: 10px;
    	padding-left: 50px;
    }
    </style>
    
    <SCRIPT LANGUAGE="JavaScript">
    var scr;
    var dy=0;
    function scrolla(target) {
    var sd = document.getElementById(target);
    var ch = sd.clientHeight / 1;
    window.status = "dy="+dy + ", style.top=" + sd.style.top;
    dy=dy-1;
    if (dy <-ch) dy = -2;
    sd.style.top = ""+dy+"px";
    //alert(sd.style.top);
    //window.status="...";
    
    }
    function avviaScroll(target) {	
    var sd = document.getElementById(target);
    sd.style.display = "block";
    sd.style.position= "relative";
    sd.style.top = "0px";
    scr = window.setInterval("scrolla('" + target + "')",50);
    }
    
    function fermaScroll() {
    window.clearInterval(scr);
    scr = -1;
    }
    //START Scroll Delay
    function inizializzaScroll(idElemento){
      avviaScroll(idElemento);
      document.getElementById(idElemento).onmouseout=function(){avviaScroll(this.id)}
      document.getElementById(idElemento).onmouseover=fermaScroll
    }
    
    window.onload=function(){setTimeout(function() {inizializzaScroll("scrollDiv");},5000)}
    //END Scroll Delay
    </SCRIPT>
    
    </head>
    <body scroll="no">
    <div class="parentDiv">
    <div id="scrollDiv" style="position: relative; top:0px;" class="scrollDiv">
    
    <!--testo di pagina-->
    
    </div>
    </div>
    
    </body>
    
     
    Ultima modifica: 10 Marzo 2012
Sto caricando...

Condividi questa Pagina