Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    aiuto su uno script e come bloccarlo con un onmouseover

    Chiedo una mano a voi ho grande community...visto che non sono un espertone...
    Utilizzo questo script per richiamare immagini e renderle come dei banner che cambiano ogni 5 sec, ho però la necessità di fermarli al passaggio del mouse, qualcuno riesce ad aiutarmi!!! Perfavore

    Eccovi lo script:

    <script type="text/javascript" language="JavaScript">
    <!--
    ejs_banurl = new Array;
    ejs_banimageUrl=new Array;

    ejs_banimageUrl[0] = "images/nst.gif";
    ejs_banurl[0] = "pagine/nstgra.jpg";

    ejs_banimageUrl[1] = "images/acerbi.gif";
    ejs_banurl[1] = "http://www.acerbiluigi.it/";

    ......

    affiche = false;

    function AffichePub()
    {
    if(!affiche)
    {
    numimage= Math.round(Math.random()*(ejs_banurl.length-1));
    document.write ('[img]' + ejs_banimageUrl[numimage] + '[/img]')
    affiche = true;
    }
    else
    {
    if(numimage == (ejs_banurl.length-1))
    numimage = 0;
    else
    numimage++;
    document.ejs_banpub.src=ejs_banimageUrl[numimage];
    }
    setTimeout("AffichePub()",5000);
    }

    AffichePub();
    //-->
    </script>

    Spero in un vostro aiuto, grazie a presto

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: aiuto su uno script e come bloccarlo con un onmouseover

    Benvenuto sul forum

    Prova tu per me:
    codice:
    affiche = false;
    flag = true; 
    
    function AffichePub() {
      if(flag) { 
       if(!affiche)
          {
          numimage= Math.round(Math.random()*(ejs_banurl.length-1));
          document.write ('[img]' + ejs_banimageUrl[numimage] + '[/img]')
          affiche = true;
          }
       else
          {
          if(numimage == (ejs_banurl.length-1))
             numimage = 0;
          else
             numimage++;
          document.ejs_banpub.src=ejs_banimageUrl[numimage];
          }
    	  setTimeout("AffichePub()",5000);
       } else {
           setTimeout("AffichePub()",1000);
      } 
    }
    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

  3. #3
    no non funzica provato adesso adesso

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da SKizzo87
    no non funzica provato adesso adesso
    Le modifiche che ho fatto servivano per implementare la tua richiesta... ho dato per scontato che lo script fornito da te fosse testato e funzionante

    codice:
    <script type="text/javascript" language="JavaScript">
    <!--
    ejs_banurl = new Array();
    ejs_banimageUrl=new Array();
    
    ejs_banimageUrl[0] = "images/nst.gif";
    ejs_banurl[0] = "pagine/nstgra.jpg";
    
    ejs_banimageUrl[1] = "images/acerbi.gif";
    ejs_banurl[1] = "http://www.acerbiluigi.it/";
    
    affiche = false;
    flag = true; 
    
    function AffichePub() {
      if(flag) { 
        if(!affiche) {
          numimage= Math.round(Math.random()*(ejs_banurl.length-1));
          document.write ('[img]' + ejs_banimageUrl[numimage] + '[/img]');
          affiche = true;
        } else {
          if(numimage == (ejs_banurl.length-1))
             numimage = 0;
          else
             numimage++;
          document.getElementById("ejs_link").href=ejs_banurl[numimage];
          document.getElementById("ejs_banpub").alt=ejs_banurl[numimage];
          document.getElementById("ejs_banpub").src=ejs_banimageUrl[numimage];
        }
    	setTimeout("AffichePub()",5000);
       } else {
        setTimeout("AffichePub()",1000);
      } 
    }
    AffichePub();
    </script>
    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

  5. #5
    Non funziona, va beh dai cerco di arrangiarmi, scusatemi se vi ho rubato tempo.
    cmq lo script postato originale da me è funzionante all'indirizzowww.medialivenews.it, ed sono le pubblicità centrali al sito

  6. #6
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152

    clearTimeout()

    Lo SCRIPT che hai postato dovresti averlo inserito nel BODY nel punto dove vuoi che appaia (per intenderci, NON nella HEAD).
    Esso fa riferimento ad un new Array(); che suppongo sia stato compilato secondo norma (dall' esempio si potrebbe rilevare la mancanza di parentesi) nella forma:

    ejs_banimageUrl=new Array('imageUrl00.jpg', 'imageUrl01.jpg', 'imageUrl02.jpg', 'imageUrl03.jpg');

    o nella forma:


    ejs_banimageUrl=new Array(); // vuole le parentesi ()

    ejs_banimageUrl[0] = 'imageUrl00.jpg';
    ejs_banimageUrl[1] = 'imageUrl01.jpg';
    ejs_banimageUrl[2] = 'imageUrl02.jpg';
    ejs_banimageUrl[3] = 'imageUrl03.jpg';


    con ' apostrofi o " apici.
    Gli Array (c'è anche quello ejs_banurl = new Array(); per l' HREF / window.open) puoi tenerli nello stesso SCRIPT nel BODY, o trasferirli nella HEAD ovviamante tra i Tag :

    &#60;script type="text/javascript"&#62;

    &#60;/script&#62;


    Questa premessa, che semmai resterà di utilità generale, è per capire se lo script di partenza ti funziona o meno; mi associo infatti all' interrogativo lasciato da br1.

    Per poi ottenere la sospensione dell' esibizione al passaggio del mouse onMouseOver, direi di arrestare momentaneamente il TIMER; questo si può fare con
    clearTimeout() che però ha bisogno di un identificativo del TIMER che deve fermare.
    Quindi si può fare:

    TT = setTimeout("AffichePub()",5000);

    e poi nel Tag IMG che è nel document.write ci mettiamo:

    onmouseover="clearTimeout(TT);" onmouseout="TT = setTimeout('AffichePub()',5000);"


    SAPPICI DIRE QUALCOSA DI PI&Ugrave;; lo SCRIPT è interessante anche per altri, avevo notato richieste di simili recentemente.

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da SKizzo87
    Non funziona, va beh dai cerco di arrangiarmi, scusatemi se vi ho rubato tempo.
    cmq lo script postato originale da me è funzionante all'indirizzowww.medialivenews.it, ed sono le pubblicità centrali al sito
    Non vedo lo script originale nel link postato....
    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

  8. #8
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152

    escape character

    C'è un problema di conflitto sui delimiters della stringa del document.write
    bisogna inserire l' escape character \:

    document.write ('<A HREF="#" onClick="window.open(ejs_banurl[numimage],\'_blank\')"><IMG

    probabilmente non vedeva nemmeno il primo .gif apparire.

  9. #9
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152

    così è come lo vuoi

    L' escape character serve anche col mio onMouseOut/onMouseOver; che già ti ho inserito.
    Testato IExplorer / Netscape.
    codice:
    <script type="text/javascript" language="JavaScript">
    <!--
    
    ejs_banimageUrl = new Array();
    ejs_banimageUrl[0] = "testimage001.jpg";
    ejs_banimageUrl[1] = "testimage002.jpg";
    ejs_banimageUrl[2] = "testimage003.jpg";
    ejs_banimageUrl[3] = "testimage004.jpg";
    
    
    ejs_banurl = new Array();
    ejs_banurl[0] = "pagine/nstgra.jpg";
    ejs_banurl[1] = "http://www.acerbiluigi.it/";
    ejs_banurl[2] = "pagine/nstgra.jpg";
    ejs_banurl[3] = "http://www.acerbiluigi.it/";
    
    
    var affiche = false;
    
    function AffichePub(){
    
     if(!affiche){
        numimage= Math.round(Math.random()*(ejs_banurl.length-1));
        document.write ('[img]' + ejs_banimageUrl[numimage] + '[/img]')
        affiche = true;
     } else {
             if(numimage == (ejs_banurl.length-1))
                numimage = 0;
             else 
             numimage++;
             
     document.ejs_banpub.src=ejs_banimageUrl[numimage];
     }
    
    TT = setTimeout("AffichePub()", 5000);
    }
    
    AffichePub();
    
    //-->
    </script>
    EDITED P.S.: La riga del document.write che risulta alquanto lunga, per averla tutta sott' occhio puoi anche scriverla andando a capo MA con le concatenazioni '+' così:
    codice:
        document.write ('[img]' + ejs_banimageUrl[numimage] + '[/img]');
    Gli escape character \ vanno messi doppi quando si posta in CODE perché il Forum se ne mangia uno.

    Puoi anche inserire una nuova variabile in luogo di 5000 in entrambi i TIMER come ho fatto qui; poi la dichiari prima della funzione in prossimità degli Array, così da lassù setti tutto:

    var ratespeed = 5000;

  10. #10

    Grazie

    Scusatemi per il link errato posto qui quello corretto assieme a quello di test
    Script originale Script modificato

    La parte delle parentesi me lo ero dimenticato....

    il fatto dell' escape character lo avevo notato e quindi corretto VVoVe:

    Cmq grazie per l'aiuto che mi state dando

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.