[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT - javascrpt] attivare un div inserito dinamicamente.



On 07/08/2018 11:57 PM, Gollum1 wrote:
Ciao Raga,

scusate per questo OT, ma siete gli unici che conosco, che potrebbero
darmi una risposta.

ho fatto uno script di ordinamento di una tabella caricata da un SQL.

Lo scopo sarebbe quello di evitare di richiedere un nuovo set di dati
diversamente ordinato al server SQL (mariaDB nello specifico), ho
voluto, quindi, provare a fare l'ordinamento direttamente lato client
con uno script js, va detto che richiedere i dati ordinati al server
sarebbe molto più veloce, per riordinare circa 1800 elementi, ci mette
un minuto secco.

Non ha senso, 1800 righe in JS sono niente. Probabilmente stai chiedendo al browser di ridisegnare la pagina ogni volta che scambi di posto due righe. La div di blocco non serve a niente, quello che devi fare è sganciare la tabella/le righe da riordinare dal DOM e riagganciarle alla fine.

proprio per ovviare al fatto che rimane bloccato il browser per tutto
il tempo che viene eseguito l'ordinamento, ho voluto inibire la
pagina, sovrapponendo un div con il classico gif di attesa...

questo div lo aggancio in modo dinamico al body, all'inizio
dell'ordinamento, e poi lo cancello al termine...

o almeno così vorrei che fosse, invece mi trovo nella situazione che
fino al termine dell'ordinamento non appare la pagina sovrapposta di
inibizione al sito, e naturalmente al termine viene messa e poi
tolta...

Certo, perché finché non ridai il controllo al browser non puoi vedere gli effetti di modifiche al DOM. Puoi usare il trucco di far passare un tick, con una cosa del tipo:

function wait_page() { /* codice */ }
function sort_rows() { /* codice */ }

wait_page();

window.setTimeout(sort_rows, 0);

nella console del browser vedo che le varie parti di codice vengono
eseguite quando dovrebbero, allora perché non appare la pagina di
attesa durante l'ordinamento?

a seguire il codice del mio script, naturalmente epurato di tutta la
parte non necessaria dell'ordinamento:

[snip]

Anche se è completamente off-topic, ci fai vedere l'ordinamento? Magari lo portiamo ad essere istantaneo...

federico




Reply to: