Pagina 1 di 4

Mettere tempo all'onclick

Inviato: 08/10/2015, 19:33
da frank
Intenderei fare una cosa del genere: quando si clicca, l'onclick richiama una funzione a tempo che tiene nascosta la frase fino a quando non si ricarica la pagina. Com'è adesso come clicco il link la frase scompare e ricompare subito.

La frase completa è suddivisa con 3 id è: Stai provando i permessi di un utente / Ripristina permessi

Codice: Seleziona tutto

<!-- IF U_RESTORE_PERMISSIONS -->
<span style="color:#ff0000; margin-left:10px;"><span id="restorePerm">Stai provando i permessi di un utente</span></span><span id="restorePermX"> /</span><a id="restorePermXX" style="margin-left:-15px;" href="{U_RESTORE_PERMISSIONS}" onclick="document.getElementById('restorePerm').style.visibility='hidden',getElementById('restorePermX').style.visibility='hidden',getElementById('restorePermXX').style.visibility='hidden',style.textDecoration='none';">{L_RESTORE_PERMISSIONS}</a>
<!-- ENDIF -->

Re: Mettere tempo all'onclick

Inviato: 08/10/2015, 20:14
da brunino
Prova a sostituire le virgole con punti e virgola, alla fine delle funzioni

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk

Re: Mettere tempo all'onclick

Inviato: 08/10/2015, 20:24
da frank
E' uguale, al cick sparisce e torna

Re: Mettere tempo all'onclick

Inviato: 08/10/2015, 21:10
da brunino
E torna in che senso? Torna quando?

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk

Re: Mettere tempo all'onclick

Inviato: 08/10/2015, 21:17
da frank
Intendo che al primo click scompare e si ripresenta, al secondo non si ripresenta più.

Re: Mettere tempo all'onclick

Inviato: 08/10/2015, 22:33
da Sir Xiradorn
Per il tempo usa setTimeout

Re: Mettere tempo all'onclick

Inviato: 08/10/2015, 23:55
da frank
Non è facile abbinarlo al mio codice

Re: Mettere tempo all'onclick

Inviato: 09/10/2015, 0:24
da Sir Xiradorn
E perchè? Scusa devi fare quello che fai con un click? Bene fai lo stesso con il teme out. E poi se metti sempre tutto il codice inline non ci capirai più nulla. Non te lo dico per far il rompiscatole ma perchè così hai html mischiato a css e innesti di javascritpt che tra l'altro aggiungono altro css. Una pastrocchione praticamente.

Vuoi un consiglio che ti scrivo a caratteri cubitali: IMPARA A SE-PA-RA-RE

Sembra una formalità ma finchè fai due modifiche a volo bene ma quando le cose si complicano non ti trovi più.

Impara a mettere js e css negli appositi tag e a raggiungere i target da la. La pagina sarà più veloce da caricare e più ordinata. Anche sul tuo forum hai pezzi di codice qua e la e si traduce in una pagina che carica a pezzi.

Torniamo a noi. Quello che tu richiedi è questo. Hai biisogno di una funzione di qusto tipo

Codice: Seleziona tutto

setTimeout(---funzione---, --- tempo in millisecondi ---); 
nella --- funzione --- ci devi mettere una funzione appunto che ti permette di richiamare il click. Fai quindi qualcosa del tipo:

Codice: Seleziona tutto

<script type="text/javascript">
var target; 

target = "raggiungi il target tramite il dom e il suo id se ne ha uno"; 
// esempio a quanto vedo hai questo id restorePermXX 
// document.getElementById('restorePermXX');

// da questo fai si che quando clicci proprio su questo avrai qualcosa del genere
// target.onclick = miaFunzione;

/* Definisci qua la funzione */
function miaFunzione() {
    /// codice ...
    // potrebbe essere una cosa del tipo
    // var obiettivo = "obiettivo che devi raggiungere dal codice";

    /// qua definisci il time out
    /* setTimeout(function(){
        obiettivo.style.visibility = "hidden"; 
   }, tempio_in_millisecondi); */
}
</script>
Quindi puoi pure rimuovere l'onclick dal bottone tanto lo hai già definito nella funzione. Questa è la via da perseguire. Abituati a procedere così

Re: Mettere tempo all'onclick

Inviato: 09/10/2015, 0:33
da frank
Non ci ho capito tantissimo. Mettiamo che questa parte deve sparire all'onclick, che ci metto?

<span id="restorePerm">Stai provando i permessi di un utente</span>

Re: Mettere tempo all'onclick

Inviato: 09/10/2015, 4:08
da frank
Più di così non so :frustrante:

Codice: Seleziona tutto

<script>
var target; 
	target = "document.getElementById('restorePermXX');
function miaFunzione() {
	var obiettivo = "obiettivo che devi raggiungere dal codice";
    setTimeout(function() {
    obiettivo.style.visibility = "hidden"; 
   }, 1000); 
}
</script> 

<!-- IF U_RESTORE_PERMISSIONS -->
<span style="color:#ff0000; margin-left:10px;"><span id="restorePerm">Stai provando i permessi di un utente</span></span><span id="restorePermX"> /</span><a id="restorePermXX" style="margin-left:-15px;" href="{U_RESTORE_PERMISSIONS}, document.getElementById('restorePerm').style.visibility='hidden',getElementById('restorePermX').style.visibility='hidden',getElementById('restorePermXX').style.visibility='hidden',style.textDecoration='none';">{L_RESTORE_PERMISSIONS}</a>
<!-- ENDIF -->