Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-08-2019, 12:47   #1
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Bootstrap alert: usare lo stesso div per due messaggi consecutivi

Ciao ragazzi,
ho creato una semplice funzione che richiamo per visaulizzare dei messaggi all'utente:
Codice:
function showMessageEvent(textToShow, cssClass) {
    $("#resultMessageEvent").fadeOut("slow", function () {
        $("#resultMessageEvent").addClass(cssClass);
        $("#resultMessageEvent").html(textToShow);
    });

    $("#resultMessageEvent").show("slow").delay(3000).fadeOut("slow", function () {
        $("#resultMessageEvent").removeClass(cssClass);
        $("#resultMessageEvent").html("");
    });
}
Esempio:
Primo messaggio:
showMessageEvent("Caricamento in corso...", "alert-warning");

Se la chiamata Ajax è success, il secondo messaggio:
showMessageEvent("Evento aggiornato!", "alert-success");

Succede che vengono rimossi la classe e il test riferiti al caso warning e solo dopo viene visualizzato il div success senza testo!

Come mai?

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2019, 14:51   #2
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 3299
Ho buttato qua un jksfiddle di test https://jsfiddle.net/cm3g97j2/

Onestamente non ho capito cosa ti aspetti che faccia e che non fa..
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2019, 08:20   #3
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Grazie sempre!

Ho commentato alcune righe del tuo script riportandolo al mio caso
https://jsfiddle.net/robertinosalemi/urw04h51/3/

Gli step che vorrei realizzare:
1. Viene visualizzato il primo messaggio
2. Nella funzione showMessageEvent è impostato un delay di 3 secondi, ma vorrei comunque che dopo 1 secondo, venga nascosto il primo e visualizzato il secondo...
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2019, 10:37   #4
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 3299
Scusa ma non comprendo: se metti un delay di 3 secondi come puoi impostare che vada via dopo 1 secondo?
vuoi che si nasconda di colpo mentre fa il fadeout dopo 1 secondo ?

non comprendo proprio..
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2019, 11:29   #5
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Forse mi sono spiegato male, scusami.

Vorrei che:
1. l'utente clicca su Inserisci nel form
2. scatta una chiamata ajax che esegue i dovuti controlli e visualizza un messaggio del tipo "Caricamento in corso..."
3. se la chiamata torna success.... qualora il messaggio precedente è ancora visibile, viene nascosto e viene visualizzato il messaggio "Evento inserito".
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 05-08-2019, 10:53   #6
aksh37
Junior Member
 
Iscritto dal: Jan 2015
Messaggi: 12
Non é la soluzione migliore, ma comunque devi fare uso delle Promises.
Se usi jQuery, se mi ricordo bene, le richieste AJAX ritornano una Promise.

https://jsfiddle.net/aob4v1nj/
aksh37 è offline   Rispondi citando il messaggio o parte di esso
Old 06-08-2019, 07:52   #7
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 3299
Quote:
Originariamente inviato da robertino_salemi Guarda i messaggi
Forse mi sono spiegato male, scusami.

Vorrei che:
1. l'utente clicca su Inserisci nel form
2. scatta una chiamata ajax che esegue i dovuti controlli e visualizza un messaggio del tipo "Caricamento in corso..."
3. se la chiamata torna success.... qualora il messaggio precedente è ancora visibile, viene nascosto e viene visualizzato il messaggio "Evento inserito".
Secondo me hai sbagliato approccio.
Per fare quello che vuoi devi:
chiamare la funzione show, e al suo interno quando è completata allora richiami lo script esterno che fa quello che deve fare e controllando quello che ti ritorna mostrare success oppure errore.
Rapidamente dovrebbe essere
Codice:
$( "#clickme" ).click(function() {
  $( "#book" ).show( "slow", function() {
//qua dentro la funzione show ha finito, richiami lo script che fa i controlli:
$.post( "test.php", { name: "John", time: "2pm" })
  .done(function( data ) {
if (data.controlloIsOk == 1){ 
    $("#resultMessageEvent").html("OK VA TUTTO BENE. ANCHE CON FADEOUT"); 
 } else {
    $("#resultMessageEvent").html("NO ERRORE " + data.messaggioErrore); 
}
  });
  });
});
Spero di essermi spiegato
Kaya è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Una denuncia getta ombre sulle batterie ...
DJI Avata 2 Fly Smart Combo a 526€: il d...
Alla guida della nuova auto elettrica ci...
GeForce RTX 3060 12 GB a giugno di nuovo...
Apple Music sarà sponsor ufficiale di Po...
The Mandalorian & Grogu: trailer fin...
Fedeltà record: Apple blinda gli utenti,...
Volkswagen ID.3 Neo: fino a 630 km di au...
GPU-Z mette i dati personali a rischio? ...
La PS6 potrebbe essere retrocompatibile ...
Amazfit Cheetah 2 Pro arriva in Italia: ...
Duolingo ammette l'errore dopo un anno: ...
Samsung Galaxy Tab S10 Lite a 249€: il t...
Samsung Micro RGB: la rivoluzione del co...
Sempre più autonomia per gli smar...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v