Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Simulare un ciclo javascript molto impegnativo (in tempo)

    Vorrei crearmi una funzione (che mi serve per debug) che impegni il computer un tempo prefissato, mezzo secondo - 5 secondi.
    Vorrei simulare per esempio un ciclo molto impegnativo
    Mi potreste aiutare?
    Pietro

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao pietro09,

    una funzioncina tipo questa?
    codice:
    function Impegna(millisecondi){
      var tempo = new Date()
      var tempo2 = new Date()
      while((tempo2.getTime()-tempo.getTime())<millisecondi){
        tempo2 = new Date()
      }
    }

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da willybit
    Ciao pietro09,

    una funzioncina tipo questa?
    codice:
    function Impegna(millisecondi){
      var tempo = new Date()
      var tempo2 = new Date()
      while((tempo2.getTime()-tempo.getTime())<millisecondi){
        tempo2 = new Date()
      }
    }
    Si, una funzione così. Visto che ci sei, puoi guardarmi questo codice?
    in pratica, da un pulsante faccio partire una funzione che impegna 1-2 secondi. Prima faccio vedere un alert rendendo visibile un <div e dopo che la funzione ha finito, chiudo l'alert
    Non ho trovato di meglio che utilizzare i temporizzatori, altrimenti non mi funziona
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    	<head>
    		<title>a</title>
    		<meta name="vs_defaultClientScript" content="JavaScript">
    		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    		<meta name="ProgId" content="VisualStudio.HTML">
    		<meta name="Originator" content="Microsoft Visual Studio .NET 7.1">
    		<script id="clientEventHandlersJS" language="javascript">
    <!--
    
    function Button1_onclick() {
    	document.getElementById("div1").style.visibility="visible";
    	window.setTimeout("do_ritardo()", 100);
    	//ritardo(5000);
    	//document.getElementById("div1").style.visibility="hidden";
    	//alert();	
    }
    
    function do_ritardo()
    {
    	ritardo(2000);
    	document.getElementById("div1").style.visibility="hidden";
    	alert("ciclo effettuato");	
    }
    
    
    function ritardo(millisecondi)
    {
    	var d1 = new Date().getTime();
    	do
    	{
    		var d2 = new Date().getTime();
    		if( (d2 - d1) > millisecondi) break;
    	}while(true);
    }
    
    
    
    
    //-->
    		</script>
    	</head>
    	<body MS_POSITIONING="FlowLayout">
    		<INPUT type="button" value="Button" ID="Button1" NAME="Button1" language="javascript" onclick="return Button1_onclick()">
    		<div id="div1" style="VISIBILITY: hidden; WIDTH: 300px; HEIGHT: 300px; BACKGROUND-COLOR: #ffcc66"
    	</body>
    </html>
    Pietro

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da pietro09
    codice:
    <div id="div1" style="VISIBILITY: hidden; WIDTH: 300px; HEIGHT: 300px; BACKGROUND-COLOR: #ffcc66"
    ho guardato il codice e noto che il div non è chiuso... cosa volevi sapere?

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da willybit
    ho guardato il codice e noto che il div non è chiuso... cosa volevi sapere?
    Per il <div non chiuso, :master: non so: non ho la pagina originale adesso. Allora, è tutta una simulazione molto semplificata. In pratica, un certo evento lancia una operazione che richiede un certo tempo, simulata dalla funzione che mi hai suggerito. Allora, prima di lanciare la funzione, vorrei rendere visibile un messaggio simulato con un <div. Al termine dell'operazione, il messaggio di attesa deve scomparire. Guarda che è molto generale: la funzione potrebbe essere benissimo un metodo di un ActiveX... Come hai visto, ho risolto introducento una funzione ausiliaria che lancia dopo un certo ritardo, la funzione dell'activx Mi chiedevo se esistesse qualcosa di meno esoterico

    Ciao
    Pietro

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.