Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di nuky
    Registrato dal
    Oct 2001
    Messaggi
    1,053

    priorità dell'aggiornamento video

    Ciao ragazzuoli, ho bisogno di voi.
    Dunque, sul click di un bottone ho una routine lato client che chiama degli oggetti che interrogano un db e fin qui tutto ok.
    Il problema sta nel momento in cui io voglio far comparire nella pagina il famoso "attendere prego..." o qualcosa di simile. Beh, praticamente il browser aspetta la fine della routine o un interruzione video (un alert o uno sroll via codice) per fare l'aggiornamento video della pagina, quindi il mio "attendere prego..." se non metto un alert o uno scroll non compare.

    Semplificando molto il concetto ho:

    codice:
    function Carica() {
      mioDiv.innerHTML="attendere prego...";
      
      creazione oggetti e chamate
      
      mioDiv.innerHTML="";
      alert("Caricamento completato");
    }
    Eseguendo così non vedo un bel niente, perchè il video viene aggiornato al momento in cui viene eseguito l'alert, quindi mi perdo la prima valorizzazione di mioDiv.
    Se dopo questa prima assegnazione invece metto un alert del tipo ("Inizio caricamento") allora l'aggionamento video viene fatto e io vedo la scritta. Un altra soluzione che ho trovato è quella di scrollare di un px la pagina, con un self.scrollBy(0,-1), ma oltre che fare un po' schifo c'è il problema che non so come comportarmi con pagine che non scollano.

    Vorrei trovare il modo per non avere ne alert ne scroll stupidi e ovviamnete senza fare refresh della pagina o del frame in cui faccio comparire la scritta.

    Ecco, ho fatto uno di quei post che odio, ho scritto tantissimo, in più come titolo volevo mettere: "PROBLEMONE!"... manca solo che io dica "per favore aiutatemi vi prego!"... beh, l'ho detto
    Attendo fiducioso e ringrazio in anticipo per l'aiuto.
    - "E' un messaggio. E' di Svarion, della terra di Merdor!"
    - "Busto Arsizio?"
    - "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
    - "Ca**o dici? C'è scritto «frocio chi legge»!"

  2. #2
    Utente di HTML.it L'avatar di Sgnafurz
    Registrato dal
    Mar 2003
    Messaggi
    2,182
    se non mettessi l'alert e scrivessi "caricamento completato" direttamente nel DIV che succederebbe?

  3. #3
    Utente di HTML.it L'avatar di nuky
    Registrato dal
    Oct 2001
    Messaggi
    1,053
    Ciao sgnaf!
    Finisce la routine e quindi compare solo il secondo messaggio e cioè "caricamento completato"... ma cmq il secondo alert ci vuole, non è lì il problema, mi va bene così...
    E come se l'esecuzione del codice della routine abbia una priorità più alta rispetto all'aggiornamento video... al termine tutto viene aggiornato.. anche se sposto oggetti o cambio i colori... fa tutto alla fine o se interrompo con un alert.
    - "E' un messaggio. E' di Svarion, della terra di Merdor!"
    - "Busto Arsizio?"
    - "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
    - "Ca**o dici? C'è scritto «frocio chi legge»!"

  4. #4
    Utente di HTML.it L'avatar di Sgnafurz
    Registrato dal
    Mar 2003
    Messaggi
    2,182
    hai provato con un setTimeout dopo la valorizzazione del primo DIV?

  5. #5
    Utente di HTML.it L'avatar di nuky
    Registrato dal
    Oct 2001
    Messaggi
    1,053
    Originariamente inviato da Sgnafurz
    hai provato con un setTimeout dopo la valorizzazione del primo DIV?
    Beh in effetti ho scritto così per significare, ma in effetti l'assegnazione sul div è già fatta con una setTimeout.
    Quindi il problema rimane.
    - "E' un messaggio. E' di Svarion, della terra di Merdor!"
    - "Busto Arsizio?"
    - "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
    - "Ca**o dici? C'è scritto «frocio chi legge»!"

  6. #6
    Utente di HTML.it L'avatar di Sgnafurz
    Registrato dal
    Mar 2003
    Messaggi
    2,182
    aspetta
    ma non è che tu chiami l'assegnazione della stringa al div nel setTimeout? in questo modo ritarderesti solo l'assegnazione

    io parlo di chiamare la valorizzazione degli oggetti col setTimeout

  7. #7
    Utente di HTML.it L'avatar di nuky
    Registrato dal
    Oct 2001
    Messaggi
    1,053
    Originariamente inviato da Sgnafurz
    aspetta
    ma non è che tu chiami l'assegnazione della stringa al div nel setTimeout? in questo modo ritarderesti solo l'assegnazione

    io parlo di chiamare la valorizzazione degli oggetti col setTimeout
    Io creo e valorizzo il div che viene rivalorizzato in una setTimeout perché in altri casi mi serve che cambi valore, tipo conti alla rovescia e simili. L'assegnazione è immediata, non è un ritardo di quel genere, puoi simulare una cosa simile facendo un ciclo molto lungo dopo aver cambiato una scritta o un colore nella tua pagina, vedrai che l'aggiornamento verrà fatto solo alla fine del ciclo.
    - "E' un messaggio. E' di Svarion, della terra di Merdor!"
    - "Busto Arsizio?"
    - "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
    - "Ca**o dici? C'è scritto «frocio chi legge»!"

  8. #8
    Utente di HTML.it L'avatar di nuky
    Registrato dal
    Oct 2001
    Messaggi
    1,053
    Provate a far girare questo:
    codice:
    <div id="mioDiv" onMouseOver="Carica()">a
    </div>
    
    <script>
    function Carica() {
      mioDiv.innerHTML="attendere prego...";
      
      a=1;
      while (a<1000000)
        a+=1;
      
      mioDiv.innerHTML="";
      alert("Caricamento completato");
    }
    </script>
    - "E' un messaggio. E' di Svarion, della terra di Merdor!"
    - "Busto Arsizio?"
    - "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
    - "Ca**o dici? C'è scritto «frocio chi legge»!"

  9. #9
    Utente di HTML.it L'avatar di Dr Mal
    Registrato dal
    Apr 2002
    Messaggi
    2,536
    Originariamente inviato da nuky
    Provate a far girare questo:
    codice:
    <div id="mioDiv" onMouseOver="Carica()">a
    </div>
    
    <script>
    function Carica() {
      mioDiv.innerHTML="attendere prego...";
      
      a=1;
      while (a<1000000)
        a+=1;
      
      mioDiv.innerHTML="";
      alert("Caricamento completato");
    }
    </script>
    L'ho provato.... entra cmq in loop a causa dell'onmouseOver.
    [Proteggiamo la Natura e gli Animali: appartengono alle cose più belle che ci sono state donate.]

  10. #10
    Utente di HTML.it L'avatar di nuky
    Registrato dal
    Oct 2001
    Messaggi
    1,053
    Originariamente inviato da Dr Mal
    L'ho provato.... entra cmq in loop a causa dell'onmouseOver.
    Il numero lo devi mettere in base alla velocita del tuo pc, cmq mentre esegue il ciclo non ha aggiornato il video, nonostante la modifica dell'innerHTML del div io la faccia prima. C'è qcosa che posso mettere dopo l'assegnazione di "attendere prego..." per renderla effettiva immediatamente e non alla prima interruzione del codice?
    - "E' un messaggio. E' di Svarion, della terra di Merdor!"
    - "Busto Arsizio?"
    - "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
    - "Ca**o dici? C'è scritto «frocio chi legge»!"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.