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

    Menu a tendina temporizzato

    Ciao a tutti,

    ho creato un menu a tendina in DW. E' molto semplice ho usato dei layer e la funzione "SHOW/HIDE LAYER".

    Avrei però necessità di fare in modo che i menu a tendina (ossia i vari layer che contengono i sottomenu) scompaiano dopo tot secondi in modo che se un utente non vuole scegliere nulla, il testo della pagina non venga coperto dai menu che non si richiudono!

    Ho visto che in giro ci sono parecchi menu però visto che il mio è praticamente finito, volevo sapere se è possibile aggiungere soltanto un po' di codice per "temporizzarlo"... qualcuno mi sa dare una mano?

    Grazie!

    Silvia

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    63
    devi individuare l'istruzione che nasconde i layer del menu
    e quindi rinviarne l'esecuzione con un

    setTimeout("istruzione",n);

    dove n è il delay in millisecondi

    per essere + precisi bisognerebbe vedere lo script

    ciao
    javascript: tutto attaccato

  3. #3
    ... beh data la richiesta così esplicita... ecco lo script!

    function MM_showHideLayers() { //v6.0
    var i,p,v,obj,args=MM_showHideLayers.arguments;
    for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible'v=='hide')?'hidden':v; }
    obj.visibility=v; }
    }


    poi ogni link ha riportato questo altro codice per far visualizzare/nascondere i livelli:

    livello2

    Nell'esempio il link "livello2" attiva il livello chiamato "livello2" e disattiva tutti gli altri, nascondendoli...

    In pratica... setTimeout("istruzione",n); lo dovrei inserire... ehm... mi dai una mano (sono un po' di coccio in queste cose!!)

    Ciao e grazie!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    63
    Gli script della MM sono mitici per incasinare le cose, non te la prendere

    Proviamo così...

    function MM_showHideLayers() { seconds = 1;
    var i,p,v,obj,args=MM_showHideLayers.arguments;
    for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) {
    v=args[i+2]; if (obj.style) {
    obj=obj.style; v=(v=='show')?'visible' : (v=='hide')?'hidden':v;
    if(v=='hide'||v=='hidden')
    setTimeout('MM_findObj("'+args[i]+'").style.visibility="'+v+'"',seconds*1000);
    else obj.visibility=v; }}

    Se poi non tornasse, prometto che mi ricostruisco la bozza della
    pagina con qualche layer e la verifico

    javascript: tutto attaccato

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    63
    ops pardon, ultima riga

    else obj.visibility=v; }}}

    manca una parentesi
    javascript: tutto attaccato

  6. #6
    ... mancava una chiusura }, cmq funziona!
    solo che la tendina dovrebbe scomparire in automatico dopo un tot di tempo... invece con il tuo script scompare dopo un tot di tempo solo se vado su un altro link.

    In pratica fa la stessa cosa che faceva prima, solo rallentata... mannaggia mi sa che non mi sono spiegata bene... sembrava troppo facile eh?!

    aiut

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    63
    in effetti ho rifatto alla lettera quello che sembrava tu
    chiedessi, senza neanche pormi il problema della sua utilità

    function MM_showHideLayers() { seconds = 5;
    var i,p,v,obj,args=MM_showHideLayers.arguments;
    for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) {
    v=args[i+2]; if (obj.style) {
    obj=obj.style; v=(v=='show')?'visible' : (v=='hide')?'hidden':v;
    obj.visibility=v;
    if(v!='hide'&& v!='hidden')
    setTimeout('MM_showHideLayers("'+args[i]+'","","hide")',seconds*1000);
    }}}

    javascript: tutto attaccato

  8. #8
    SEI UN MOSTRO!!!!! :metallica
    GRAZIEEE!!!!

    ... dovessi avere dubbi di grafica e webdesign sarò ben lieta di ricambiare il favore!! (almeno quello è territorio mio!!)


    Silvia

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.