Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    40

    Far apparire all'apertura di una pagina web un layer centrato che si autochiuda...

    Far apparire all'apertura di una pagina web un layer centrato che si autochiuda...dopo 7 secondi
    Ho provato ad utilizzare questo script (di seguito...) che mi è stato fornito da un membro senior del forum...ma non ci sono riuscito...o quanto meno...carica il layer ma non lo fa nè apparire centrato alla pagina nè lo fa richiudere dopo 7 secondi.
    Qualcuno sa perfavore come aiutarmi?
    Grazie.
    ::: EMA :::

    code:-----------------------------------
    function openandclose() {
    document.getElementById('idlivello').style.visibil ity='visible';
    window.setTimeout('document.getElementById('idlive llo').style.visibility='hidden';',7000);
    }
    -----------------------------------------

    da richiamare così:

    code:-----------------------------------
    <body onLoad="openandclose();">
    -----------------------------------------

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    una soluzione potrebbe essere:
    codice:
    <style type="text/css">
    #idlivello {
      position: absolute;
      width: 300px;
      height: 100px;
      top: 50%;
      left: 50%;
      margin-left: -150px;
      margin-top: -50px;
    }
    </style>
    <script language="javascript">
    function hideit(){
      document.getElementById("idlivello").style.visibility="hidden";
    }
    </script>
    
    <body onload="setTimeout('hideit()',7000)">
    <div id="idlivello">CONTENUTO DIV</div>
    ....

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    40
    Grazie Pela...lo script è quasi perfetto...
    nel senso che fa apparire sia il layer...lo fa autochiudere dopo 7 secondi...
    Il problema che rimane è....il layer è possibile farlo apparire al centro della pagina qualunque risoluzione abbia l'utente?
    Grazie per la risposta di prima...
    ema

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    in riferimento a questa discussione
    puoi provare così
    codice:
    <html> 
    <head> 
    <title></title> 
    <style type="text/css">
    #idlivello {
      position: absolute;
      width: 300px;
      height: 100px;
      top: 50%;
      left: 50%;
      margin-left: -150px;
      margin-top: -50px;
      background-color:#ff0000;
    }
    </style>
    
    <script language="javascript" type="text/javascript">
    function leggiCk(nome) {
      var nameEQ = nome + '=';
      var ca = document.cookie.split(';');
      for(var i=0;i<ca.length;i++) {
        var c=ca[i];
        while(c.charAt(0)==' ') c=c.substring(1,c.length);
        if(c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
      }
      return null;
    }
    
    function scriviCk(nome,valore) {
      var date=new Date();
      date.setTime(date.getTime()+86400000); // 24*60*60*1000 = 86400000 millisec.
      document.cookie=nome+'='+valore+';expires='+date.toGMTString()+'; path=/';
    }
    
    function hideit(){
      document.getElementById("idlivello").style.visibility="hidden";
    }
    
    var volte=leggiCk('popupLyr')
    var num=(volte!=null)?parseInt(volte):1;
    
    if(num<=2){
      num++
    // anteponi un backslash ad ogni apice singolo (qualora presente) nel CONTENUTO DIV
      document.write('<div id="idlivello">CONTENUTO DIV</div>');
      scriviCk('popupLyr',num)
      window.onload=function() {
        setTimeout('hideit()',7000);
      }
    }
    
    </script>
    </head>
    <body>
    ...
    </body> 
    </html>

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    40
    Grazie innanzitutto per avermi risposto…
    Parzialmente il mio problema è stato risolto….
    Più precisamente…
    All’apertura della pagina html…appare un layer…
    1 problema: Le prime due volte NON si autochiude dopo 7 secondi…si autochiude dalla 3°volta in poi…
    2 problema: L’altro problema è appunto che la terza volta non dovrebbe proprio aprirsi…

    Per farvi capir meglio…vi copio e incollo il sia il codice html (fino ad ora utilizzato) sia il cookie generato nei file temporanei…

    ---------------------------------
    HTML
    ---------------------------------
    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    #idlivello {
    position: absolute;
    width: 300px;
    height: 250px;
    top: 50%;
    left: 50%;
    margin-left: -150px;
    margin-top: -125px;
    }
    </style>
    <script language="javascript" type="text/javascript">
    function leggiCk(nome) {
    var nameEQ = nome + '=';
    var ca = document.cookie.split(';');
    for(var i=0;i<ca.length;i++) {
    var c=ca[i];
    while(c.charAt(0)==' ') c=c.substring(1,c.length);
    if(c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
    }
    return null;
    }

    function scriviCk(nome,valore) {
    var date=new Date();
    date.setTime(date.getTime()+86400000); // 24*60*60*1000 = 86400000 millisec.
    document.cookie=nome+'='+valore+';expires='+date.t oGMTString()+'; path=/';
    }

    function hideit(){
    document.getElementById("intersticial").style.visi bility="hidden";
    }

    var volte=leggiCk('popupLyr')
    var num=(volte!=null)?parseInt(volte):1;

    if(num<=2){
    num++
    // anteponi un backslash ad ogni apice singolo (qualora presente) nel CONTENUTO DIV
    document.write('<div id="intersticial" style="position:absolute; width:72px; height:19px; z-index:1; left: 50%; top: 50%; margin-left: -150px; margin-top: -125px; visibility: none"><object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="300" height="250"><param name=movie value="300x250_sx1.swf"><param name=quality value=high><embed src="300x250_sx1.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="250"></embed></object></div>');
    scriviCk('popupLyr',num)
    window.onload=function() {
    setTimeout('hideit()',7000);
    }
    }
    </script>
    </head>

    <body bgcolor="#000000" onload="setTimeout('hideit()',7000)">
    <div id="intersticial" style="position:absolute; width:72px; height:19px; z-index:1; left: 50%; top: 50%; margin-left: -150px; margin-top: -125px; visibility: none"><object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="300" height="250">
    <param name=movie value="300x250_sx1.swf">
    <param name=quality value=high>
    <embed src="300x250_sx1.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="250">
    </embed>
    </object></div>
    </body>
    </html>

    ---------------------------------
    COOKIE
    ---------------------------------
    popupLyr
    3
    ~~local~~/
    0
    2590209664
    29607241
    1885336160
    29607040
    *
    Chi sa per favore darmi una mano per la risoluzione del problema?
    Grazie.
    Emanuele

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    con le modifiche che ho apportato il livello viene scritto (e nascosto) solo quando serve
    (quindi fino alla seconda visita nell' arco delle 24 ore)

    rimuovi l' onload nel body e il livello che hai lasciato cmq nel body
    poi, vista la quantità di codice presente nel livello,
    ti consiglio di spezzarlo nello script in + righe, x es.
    codice:
    var lCode='<div id="intersticial"><object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="300" height="250"><param name=movie value="300x250_sx1.swf"><param name=quality value=high>';
    lCode+='<embed src="300x250_sx1.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="250"></embed>';
    lCode+='</object></div>';
    document.write(lCode)
    da sostituire a document.write('<div id="intersticial".......</div>')

    per lo stile del livello, che non serve avere in linea,
    cambia quell' #idlivello a inizio pagina in #intersticial

    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    40
    Ciao...ho fatto passo passo quello che mi hai consigliato...
    Ti spiego quello che avviene..

    1- apro la pagina html e non appare niente
    2- sono andato nei file temporanei e il sistema ha creato un cookie del genere (dove il valore è impostato direttamente a 2)...
    te lo copio e incollo...
    ---------------
    COOKIE
    ---------------
    popupLyr
    2
    ~~local~~/
    0
    3963222144
    29607486
    3256408640
    29607285
    *
    -----------------
    il codice finale che sto usando dopo i tuoi consigli è questo...
    -----------------
    HTML
    -----------------
    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    #intersticial {
    position: absolute;
    width: 300px;
    height: 250px;
    top: 50%;
    left: 50%;
    margin-left: -150px;
    margin-top: -125px;
    }
    </style>
    <script language="javascript" type="text/javascript">
    function leggiCk(nome) {
    var nameEQ = nome + '=';
    var ca = document.cookie.split(';');
    for(var i=0;i<ca.length;i++) {
    var c=ca[i];
    while(c.charAt(0)==' ') c=c.substring(1,c.length);
    if(c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
    }
    return null;
    }

    function scriviCk(nome,valore) {
    var date=new Date();
    date.setTime(date.getTime()+86400000); // 24*60*60*1000 = 86400000 millisec.
    document.cookie=nome+'='+valore+';expires='+date.t oGMTString()+'; path=/';
    }

    function hideit(){
    document.getElementById("intersticial").style.visi bility="hidden";
    }

    var volte=leggiCk('popupLyr')
    var num=(volte!=null)?parseInt(volte):1;

    if(num<=2){
    num++
    var lCode='<div id="intersticial" style="position:absolute; width:72px; height:19px; z-index:1; left: 50%; top: 50%; margin-left: -150px; margin-top: -125px; visibility: none"><object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="300" height="250"><param name=movie value="300x250_sx1.swf"><param name=quality value=high>';
    lCode+='<embed src="300x250_sx1.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="250"></embed>';
    lCode+='</object></div>';
    document.write(lCode)
    scriviCk('popupLyr',num)
    window.onload=function() {
    setTimeout('hideit()',7000);
    }
    }
    </script>
    </head>

    <body bgcolor="#000000">

    </body>
    </html>
    ---------------------
    Grazie di tutto, ma sopratutto della vostra pazienza....
    Ema

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ti sei dimenticato un passaggio
    var lCode='<div id="intersticial" style="position:absolute; width:72px; height:19px; z-index:1; left: 50%; top: 50%; margin-left: -150px; margin-top: -125px; visibility: none"><object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" etc etc

    devi togliere tutto lo style, quindi resta
    var lCode='<div id="intersticial"><object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" etc etc

    tra l' altro, nello stile in linea hai un visibility:none (che non è corretto, dovrebbe essere visibility:hidden)
    ma che forse nasconde il livello

    per il cookie impostato già a 2 potrebbe essere il risultato di + refresh di pagina,
    x provare svuota prima i cookie da strumenti -> opzioni internet -> elimina cookie
    ciao ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    40
    ok...ho fatto ancora quello che mi hai consigliato ma non va...

    il codice dopo le tue modifiche sono...
    ----------------
    HTML
    ----------------

    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    #intersticial {
    position: absolute;
    width: 300px;
    height: 250px;
    top: 50%;
    left: 50%;
    margin-left: -150px;
    margin-top: -125px;
    visibility: hidden;
    }
    </style>
    <script language="javascript" type="text/javascript">
    function leggiCk(nome) {
    var nameEQ = nome + '=';
    var ca = document.cookie.split(';');
    for(var i=0;i<ca.length;i++) {
    var c=ca[i];
    while(c.charAt(0)==' ') c=c.substring(1,c.length);
    if(c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
    }
    return null;
    }

    function scriviCk(nome,valore) {
    var date=new Date();
    date.setTime(date.getTime()+86400000); // 24*60*60*1000 = 86400000 millisec.
    document.cookie=nome+'='+valore+';expires='+date.t oGMTString()+'; path=/';
    }

    function hideit(){
    document.getElementById("intersticial").style.visi bility="hidden";
    }

    var volte=leggiCk('popupLyr')
    var num=(volte!=null)?parseInt(volte):0;

    if(num<=2){
    num++
    var lCode='<div id="intersticial"><object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="300" height="250"><param name=movie value="300x250_sx1.swf"><param name=quality value=high>';
    lCode+='<embed src="300x250_sx1.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="250"></embed>';
    lCode+='</object></div>';
    document.write(lCode)
    scriviCk('popupLyr',num)
    window.onload=function() {
    setTimeout('hideit()',7000);
    }
    }
    </script>
    </head>

    <body bgcolor="#000000">

    </body>
    </html>
    ---------------------------------

    Per quanto riguarda il fatto che il cookie che viene creato parta già da due è perchè c'era impostata questa variabile:

    var num=(volte!=null)?parseInt(volte):1;

    L'ho fatta diventare :

    var num=(volte!=null)?parseInt(volte):0;

    ...cosi il conteggio "parte" da zero e non da uno

    A parte ciò...cosi non viene visualizzato niente all'apertura della pagina...sembra quasi che non crei il layer o che non trovi il file swf...quando questo è nella sua giusta directory di richiamo...
    Boh...mi sto scervellando...ma nada...nessuna soluzione...

    Scusa per la pressione che sto dando...
    Grazie per la pazienza...
    Ema

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    40
    qualcuno saprebbe aiutarmi?
    Grazie.
    Ema

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.