elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] javascript itinerancia de un objeto dentro de un timer
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] javascript itinerancia de un objeto dentro de un timer  (Leído 3,397 veces)
EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
[Resuelto] javascript itinerancia de un objeto dentro de un timer
« en: 23 Marzo 2018, 23:23 pm »

Tengo un intervalo de tiempo ejecutandoce que quiero coincidir con el tiempo transcurrido con un objeto, pero el tiempo trancurrido no coincide con el tiempo del objeto. Estoy pensando la mejor forma de hacerlo como se les ocurriria a ustedes realizarlo

Código
  1. var testJSON = {
  2.    "9352": {
  3.        "data": {
  4.            "x": 220,
  5.            "y": 188
  6.        },
  7.        "time": 9352
  8.    },
  9.    "9452": {
  10.        "data": {
  11.            "x": 221,
  12.            "y": 186
  13.        },
  14.        "time": 9452
  15.    },
  16.    "9954": {
  17.        "data": {
  18.            "x": 221,
  19.            "y": 184
  20.        },
  21.        "time": 9954
  22.    },
  23.    "10054": {
  24.        "data": {
  25.            "x": 221,
  26.            "y": 184
  27.        },
  28.        "time": 10054
  29.    },
  30.    "10154": {
  31.        "data": {
  32.            "x": 221,
  33.            "y": 183
  34.        },
  35.        "time": 10154
  36.    },
  37.    "10554": {
  38.        "data": {
  39.            "x": 220,
  40.            "y": 183
  41.        },
  42.        "time": 10554
  43.    },
  44.    "10654": {
  45.        "data": {
  46.            "x": 218,
  47.            "y": 182
  48.        },
  49.        "time": 10654
  50.    },
  51.    "10754": {
  52.        "data": {
  53.            "x": 217,
  54.            "y": 181
  55.        },
  56.        "time": 10754
  57.    }
  58. };
  59.  
  60. function handleActivity() {
  61.    var timeElapsed, activity, last;
  62.    var startingTime = Date.now();
  63.  
  64.    if (testJSON) {
  65.        activity = testJSON;
  66.        last = Object.keys(activity)[Object.keys(activity).length - 1];
  67.  
  68.        console.log('total: ' + Object.keys(activity).length);
  69.  
  70.        var timer = setInterval(function() {
  71.  
  72.            timeElapsed = parseInt(((Date.now() - startingTime) / 1000).toFixed(3).replace(/\./g, ''));
  73.  
  74.            if (true) {
  75.                console.log(activity[timeElapsed]);
  76.            }
  77.  
  78.            if (last <= timeElapsed) {
  79.                clearInterval(timer);
  80.            }
  81.  
  82.        }, 100);
  83.    }
  84. }

Se ejecutara por 10s cuando termina deberia mostrar los 8 objetos encontrados pero como el intervalo se saltea ciertos numeros no mostrara nada o solo alguno de los 8.
Ya estoy cansado no puedo pensar mas  ;D


« Última modificación: 29 Mayo 2018, 18:23 pm por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: javascript itinerancia de un objeto dentro de un timer
« Respuesta #1 en: 24 Marzo 2018, 00:25 am »

Creo que lo tienes crudo.

Ningún navegador da timestamps seguidos.. algunos incluso se saltan varios ciclos para ahorrar batería.. aparte, tenemos en cuenta que cada operación tarda X tiempo en realizarse (el calculo de timeElapsed pj) y eso añade tiempo perdido.

¿ Para que necesitas el timer exactamente ? Quizás podamos encontrar alguna alternativa.

Saludos


« Última modificación: 24 Marzo 2018, 00:27 am por #!drvy » En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: javascript itinerancia de un objeto dentro de un timer
« Respuesta #2 en: 24 Marzo 2018, 01:16 am »

Trato de obtener la posicion del mouse, guardarlo y despues recrearlo. Queria ser algo mas preciso con el tiempo, pero creo que mejor seria dividir el tiempo en segundos ? o llegare al mismo problema?
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: javascript itinerancia de un objeto dentro de un timer
« Respuesta #3 en: 24 Marzo 2018, 02:19 am »

Lo único que se me ocurre es ampliar el tiempo entre capturas a un valor seguro.. quizás 500ms podría valer.. pero se pierde precisión :/

Saludos
En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: javascript itinerancia de un objeto dentro de un timer
« Respuesta #4 en: 24 Marzo 2018, 02:36 am »

Lo correcto seria capturar el evento mouve del mouse y asyncronicamente (promise) guardar las coordenaas en un array. Asi es mas fluido y no bloqueante,
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: javascript itinerancia de un objeto dentro de un timer
« Respuesta #5 en: 24 Marzo 2018, 02:39 am »

Aca hay un ejemplo, en vez de aplicarlo dentro del cuadrado deberias hacerlo en body o html

https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onmousemove
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: javascript itinerancia de un objeto dentro de un timer
« Respuesta #6 en: 28 Marzo 2018, 13:02 pm »

Al fin pude con esto de la siguiente forma..

Código
  1. var testJSON = {"9352":{"data":{"x":220,"y":188},"type":"mouseMove","time":9352},"9452":{"data":{"x":221,"y":186},"type":"mouseMove","time":9452},"9954":{"data":{"x":221,"y":184},"type":"mouseMove","time":9954},"10054":{"data":{"x":221,"y":184},"type":"mouseMove","time":10054},"10154":{"data":{"x":221,"y":183},"type":"mouseMove","time":10154},"10554":{"data":{"x":220,"y":183},"type":"mouseMove","time":10554},"10654":{"data":{"x":218,"y":182},"type":"mouseMove","time":10654},"10754":{"data":{"x":217,"y":181},"type":"mouseMove","time":10754}};
  2. var elapsedTimeReplay = 0;
  3. //Copiamos nuestro objeto y paso a array
  4. var activitySession = Object.values(testJSON);
  5.  
  6. function handleActivity(){
  7.  if (Object.keys(testJSON).length > 0 ) {
  8.  
  9.    //Borrar el primer elemento de nuestro array
  10.    var parts = activitySession.splice(0, 1),
  11.        currentTime;
  12.  
  13.    currentTime = parts[0].time;
  14.  
  15.    setTimeout(function(){
  16.  
  17.      //handleMouseEmulated
  18.      console.log('move mouse ' + testJSON[currentTime].time);
  19.  
  20.      elapsedTimeReplay = currentTime;
  21.      handleActivity(); // Siguiente elemento de nuestro array
  22.  
  23.    }, currentTime - elapsedTimeReplay);
  24.  
  25.  }
  26. }
  27.  
  28. handleActivity();
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear un objeto dentro de otro objeto
Programación Visual Basic
Tokes 7 7,107 Último mensaje 30 Agosto 2010, 05:41 am
por BlackZeroX
Problema con objeto dentro de otro objeto
PHP
Skeletron 3 6,522 Último mensaje 5 Enero 2011, 04:10 am
por Skeletron
{RESUELTO}Cargar documento dentro de una celda, mediante javascript+jquery « 1 2 3 »
Desarrollo Web
|Miguel| 23 15,224 Último mensaje 28 Marzo 2012, 00:30 am
por |Miguel|
[Resuelto] buscar la cadena '<?' dentro de otra cadena con javascript
Desarrollo Web
srccver 4 3,823 Último mensaje 9 Abril 2015, 20:52 pm
por srccver
[Resuelto] Acceder elemento de objeto javascript « 1 2 »
Desarrollo Web
GMB 10 6,985 Último mensaje 14 Febrero 2020, 22:42 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines