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)
| | |-+  [Pregunta]: ¿Cual es su opinión sobre este pequeño script?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Cual es su opinión sobre este pequeño script?  (Leído 2,230 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: ¿Cual es su opinión sobre este pequeño script?
« en: 2 Septiembre 2019, 20:51 pm »

Buenos días!
Quería preguntarles o mejor dicho quería saber cual es su opinión sobre este pequeño código en javascript/jquery.

Antes de mostrarles el código voy a explicar para que sirve, digamos que tengo el tradicional botón de "Cargar más resultados" al momento de presionarlo se me van a mostrar lógicamente más datos (Ajax), entre el momento que doy el click hasta el momento en que se completa y recibo los resultados dependiendo que tan lenta sea la web (que tan optimizada, que tantos usuarios estén navegando en ella de forma simultánea, etcétera) va a tardar más o menos tiempo. Por tanto lo que hago en ese "tiempo de espera" es ejecutar un acción, o mostrar algo, un gif, pre-loader como quieran llamarlo.

con Ajax ya lo hice hace tiempo y siempre use success pero aveces cuando muestro los otros datos estos no cargan inmediatamente por más que se haya ejecutado lo que yo tenga en el success, así que hice esto:

Código
  1.                document.body.style.cursor = 'progress';
  2.                document.getElementById('cargando').style.display = 'block';
  3. document.getElementById('contenido').style.display = 'none';
  4.  
  5.                $.ajax({
  6. url: 'ajax/fichero_ajax.php',
  7. type: 'POST',
  8. dataType: 'html',
  9. data: {parametro},
  10.  
  11. success: function()
  12. {
  13. $(window).ready(function()
  14. {
  15. document.body.style.cursor = 'default';
  16. document.getElementById('cargando').style.display = 'none';
  17. document.getElementById('contenido').style.display = 'block';
  18. });
  19. }
  20. })
  21.  

Antes estaba sólo "success: function()" pero ahora agregue una linea más de código "$(window).ready(function()", Quería saber sus opiniones sobre esto.

Gracias!


« Última modificación: 2 Septiembre 2019, 20:55 pm por MiguelCanellas » En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Cual es su opinión sobre este pequeño script?
« Respuesta #1 en: 3 Septiembre 2019, 21:48 pm »

Cualquier opinión, desde "que $#!* es eso, ni higuain se animo a tanto" a "código aceptable" me sirve para saber si esto esta bien o "es una buena práctica"

Gracias


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: ¿Cual es su opinión sobre este pequeño script?
« Respuesta #2 en: 3 Septiembre 2019, 22:00 pm »

Pues no se para que agregaste ese listener. Lo único que se me ocurre que estás haciendo es una petición AJAX inmediatamente antes de cargar el documento y quieres estar seguro que el código se ejecute antes que se cargue el documento.

Si esa petición se hace después de cargar el documento, ese listener no sirve para nada.

Edit: Oh y ahora que me doy cuenta si es totalmente redundante. Porque si haces esto:

Código
  1. document.body.style.cursor = 'progress';
  2. document.getElementById('cargando').style.display = 'block';
  3. document.getElementById('contenido').style.display = 'none';

Y esto funciona en ese punto, significa que los elementos están cargados en el DOM y no hay necesidad del listener.
« Última modificación: 3 Septiembre 2019, 22:14 pm por MinusFour » En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Cual es su opinión sobre este pequeño script?
« Respuesta #3 en: 4 Septiembre 2019, 06:00 am »

Básicamente la idea era la siguiente, como dije tengo un botón de ver más resultados.
Digamos ahora que esos datos que se van a ir mostrando, digamos de 10 en 10 algo como instagram imaginemos...

Se hace un click a el botón -> se ejecuta -> ver_mas(); que a su ves llamara a un fichero .php (ajax)

Bien, estamos de acuerdo en que para cuando se ejecute la función de ajax ya la ventana/documento ya está cargada/o. Pero para cuando estos nuevos datos (los otros 10 datos o fotos) se muestren por medio de código html entonces la pagina volverá a cargar pero no cargar toda sino estos nuevos datos html que son introducidos.

Por este motivo no se si es redundante, ya que para cuando se muestren estos datos o termine la ejecución del fichero.php le digo que haga tal cosa sólo cuando la ventana este lista porque recordá que estoy metiendo nuevos elementos html

Nose si me doy a entender bien, no soy de explicarme muy bien que digamos  ;-)
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: ¿Cual es su opinión sobre este pequeño script?
« Respuesta #4 en: 4 Septiembre 2019, 16:37 pm »

Bien, estamos de acuerdo en que para cuando se ejecute la función de ajax ya la ventana/documento ya está cargada/o. Pero para cuando estos nuevos datos (los otros 10 datos o fotos) se muestren por medio de código html entonces la pagina volverá a cargar pero no cargar toda sino estos nuevos datos html que son introducidos.

Por este motivo no se si es redundante, ya que para cuando se muestren estos datos o termine la ejecución del fichero.php le digo que haga tal cosa sólo cuando la ventana este lista porque recordá que estoy metiendo nuevos elementos html

Nose si me doy a entender bien, no soy de explicarme muy bien que digamos  ;-)

Hasta donde yo tengo entendido el evento se dispara una sola vez, en la carga inicial de la pagina. En el código que estás mostrando, los elementos ya existen y están cargados. En ese código no estás cargando ningún elemento al DOM. Y si estuvieras cargando los elementos al DOM con jQuery o innerHTML o similar, esas APIs no son asincronas. Lo único que pudiera necesitar un evento es si tu codigo HTML carga recursos de otras partes. Por ejemplo, tu código HTML puede incluir IMG tags que cargan imagenes de algún lado. Tu puedes insertar las etiquetas IMG en el DOM inmediatamente, pero el navegador puede o no estar cargando las imagenes todavía. Si quieres mostrar la imagen cargada vas a tener que escuchar al evento load de las imagenes. Pero eso ya es otro tema.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Opinion sobre este sobremesa...
Dudas Generales
Fischer987 6 3,827 Último mensaje 23 Mayo 2010, 23:38 pm
por Fischer987
Cual es vuestra opinión sobre el partido político Podemos
Foro Libre
buite 5 3,105 Último mensaje 13 Septiembre 2015, 23:47 pm
por programatrix
¿Cual es vuestra opinión-conocimientos sobre las radiaciones ionizantes?
Foro Libre
programatrix 4 3,032 Último mensaje 24 Abril 2017, 22:43 pm
por programatrix
¿cual es su opinion sobre TED?
Foro Libre
MRx86 3 2,363 Último mensaje 24 Agosto 2017, 19:25 pm
por @synthesize
Opinion sobre este loader
Ingeniería Inversa
d0x1s 0 2,958 Último mensaje 19 Mayo 2019, 17:40 pm
por d0x1s
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines