far scomparire dei link al click del mouse

  • Creatore Discussione Creatore Discussione squalo9
  • Data di inizio Data di inizio

squalo9

Nuovo Utente
16 Nov 2012
9
0
0
ciao ragazzi, premetto che conosco poco il linguaggio javascript e quindi non saprei proprio come fare, vi spiego cosa avrei intenzione di fare: volevo creare una pagina con diversi link di alri siti ad esempio facebook youtube google ecc, però al click su ogni singolo link dovevano scomparire tutti per un tot di tempo, a esempio se clicco su facebook scompaiono per 3 minuti, se clicco su youtube per 5 e cosi via..è possibile fare una cosa del genere? grazie a tutti e scusate l'ignoranza
 
Ciao,
intendi qualcosa del genere ?
HTML:
<html>
    <head>
        <title>Link</title>
        <script type='text/javascript'>
            //array degli id dei link da nascondere
            link = new Array('faceb','goog','tube');
            // mostra i link
            function mostraLink(){
                for(var i=0;i < link.length;i++) {
                    document.getElementById(link[i]).style.display = 'inline';
                }
                
            }
            // nascondi i link
            function nascondiLink(time) {
                for(var i=0;i < link.length;i++) {                    
                    document.getElementById(link[i]).style.display = 'none';
                }
                // richiamo della funzone che mostra il link dopo il time ricevuto come parametro
                setTimeout("mostraLink()",time);
            }
        </script>
    </head>
    <body>
        <a id="faceb" target="_blank" onclick="nascondiLink(3000)" href="http://www.facebook.com">FAcebook</a>
        <a id="goog" target="_blank" onclick="nascondiLink(6000)" href="http://www.google.com">Google</a>
        <a id="tube" target="_blank" onclick="nascondiLink(5000)" href="http://www.youtube.com">Youtube</a>
    </body>
</html>
 
perfetto :) propio quello che volevo..il tempo lo imposto manualmente all'interno della funzione function nascondiLink(time) ?? per intenderci al posto di time ci metto i secondi??
 
i microsecondi glieli passi quando richiami la funzione
3000 sono 3 secondi
Codice:
onclick="nascondiLink(3000)
30000 sono 30 secondi
Codice:
onclick="nascondiLink(30000)
etc
ogni link deve passare un tempo diverso da come avevo capito
 
si si scusami non avevo visto i secondi..però c'è un altro preoblema..se ricarico la pagina i link rivengono fuori prima dello scadere dei secondi, ad esempio ho impostato 20 secondi per facebook quando ci clicco sparisce per 20 secondi però basta che ricarico la pagina e i link sono di nuovo disponibili...cosa si puo fare?? grazie mille e scusami ancora per l'ignoranza
 
Salve chiedo scusa e mi rivolgo specialmente a Criric, io avevo capito dalla domanda che si voleva far scomparire tutti i link per un tot tempo, eccetto quello attivato..... invece poi ho letto : " tutti ", se ti va Criric per cortesia... mi posti il codice che faccia quello che avevo compreso io... cioè far scomparire tutti i link eccetto quello attivo ?
Se ti va chiaramente.... grazie...


p.s. : x squalo9 , se ricarichi la pagina tutto si azzera e gli script ripartono da capo... quindi è impossibile ciò che richiedi :)
 
Non credo sia impossibile,
forse si potrebbe memorizzare un valore utilizzando il local storage o i cookie e in base a quel valore tenere nascosti i link anche aggiornando la pagina
ma per ora non mi viene in mente niente di intelligente

@cavaliere123
puoi modificare le chiamate alla funzione passando anche l'id
Codice:
onclick="nascondiLink(3000,'faceb')"
onclick="nascondiLink(6000,'goog')"
onclick="nascondiLink(9000,'tube')"
e la funzione cosi
Codice:
 function nascondiLink(time,current) {
                for(var i=0;i < link.length;i++) {  
                    if(current != link[i])
                        document.getElementById(link[i]).style.display = 'none';
                }
                // richiamo della funzone che mostra il link dopo il time ricevuto come parametro
                setTimeout("mostraLink()",time);
            }
 
va bene anche se i link diventano inattivi per un lasso di tempo..l'importante è che per esempio per 3 minuti non ci si puo cliccare in nessun modo..si puo?? cmq grazie per le risposte :)
 
Ragazzi ho risolto in questo modo: al momento del click sul link ho creato un cookie che scade dopo lo stesso tempo del link sul quale si è cliccati e all'inizio della pagina ho impostato un controllo tramite il cookie in modo che se l'operazione è vera fa vedere i link altrimenti no :) grazie
 

Discussioni simili