Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    133

    eseguire codice "bloccante"

    Salve,

    apro questo thread per chiedere una piccola info agli esperti: esiste un modo con javascript di eseguire codice "bloccante"?

    Con il termine "bloccante" intendo come quando ad esempio si esegue un alert o un confirm, che tutta la pagina risulta bloccata finchè non riceve l'input da parte dell'utente.

    Un grazie in anticipo per chi saprà suggerirmi un modo

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660

    si lo hai appena detto con un alert o un confirm


    cerca di spiegarti meglio perche la domanda non è per niente chiara...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    133
    Hai ragione, non sono stato molto chiaro, chiedo venia.

    Dunque, io vorrei sapere se esiste un modo per specificare un certo blocco di codice come "bloccante" per tutta la pagina, in maniera tale che finchè quel codice non ha terminato l'esecuzione, non venga eseguito altro codice e l'utente non possa fare alcunchè sulla pagina.

    L'esempio che ho preso, quello di alert è confirm, è proprio perchè vorrei simulare quel comportamento pur usando funzioni di alert e confirm personalizzate, magari basate ad esempio sui dialog di jQuery UI.

    Spero di essere stato un po' più chiaro...

  4. #4
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    All' avvio della funzione/i, che raccoglierà le istruzioni JS che vuoi siano eseguite, per prima cosa fai stendere un DIV position: absolute; che copre tutta la pagina.
    Questo DIV esiste già nell' HTML, JS lo fa passare da display: none a block e viceversa.
    Nell' esempio ho messo un timer, facciamo conto che l' esecuzione del programmino richieda 3 secondi (3000 milli-sec).
    Nota che il link non sarà più cliccabile nel frattempo, come pure il pulsante.
    Il DIV lo possiamo avere anche semi-trasparente; entriamo così nel CSS3, e c'è un po' di casistica dei browser da osservare per garantire l' opacity.
    codice:
    <script>
    function execute(){
     var overlayer = document.getElementById("overdiv");
     overlayer.style.display = "block";
     setTimeout('document.getElementById("overdiv").style.display = "none";', 3000);
     }
    
    </script>
    
    <input value="esegui" type="button" onclick="execute();">
    
    
    
    Link a Google
    
    <div id="overdiv" 
      style="position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; 
             display: none; background-color: black; opacity: 0.4; filter: alpha(opacity=40);">
    </div>

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 © 2026 vBulletin Solutions, Inc. All rights reserved.