phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Mettere tempo all'onclick

Discussioni relative al linguaggio di programmazione client side.
Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Mettere tempo all'onclick

Messaggio da frank » 08/10/2015, 19:33

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 -->

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: Mettere tempo all'onclick

Messaggio da brunino » 08/10/2015, 20:14

Prova a sostituire le virgole con punti e virgola, alla fine delle funzioni

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Mettere tempo all'onclick

Messaggio da frank » 08/10/2015, 20:24

E' uguale, al cick sparisce e torna

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: Mettere tempo all'onclick

Messaggio da brunino » 08/10/2015, 21:10

E torna in che senso? Torna quando?

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Mettere tempo all'onclick

Messaggio da frank » 08/10/2015, 21:17

Intendo che al primo click scompare e si ripresenta, al secondo non si ripresenta più.

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Mettere tempo all'onclick

Messaggio da Sir Xiradorn » 08/10/2015, 22:33

Per il tempo usa setTimeout
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Mettere tempo all'onclick

Messaggio da frank » 08/10/2015, 23:55

Non è facile abbinarlo al mio codice

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Mettere tempo all'onclick

Messaggio da Sir Xiradorn » 09/10/2015, 0:24

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ì
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Mettere tempo all'onclick

Messaggio da frank » 09/10/2015, 0:33

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>

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Mettere tempo all'onclick

Messaggio da frank » 09/10/2015, 4:08

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 -->

Rispondi

Torna a “JavaScript”

Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti