• HomePagina Inicial
  • Blog Mis cosillas
  • Portfolio Mis trabajos
  • Acerca deeste blog y su autor
    • Sobre Mi 
    • Oridoki 
  • ContactarFormulario
  • Categorias

    • Blog
      • Control de Versiones
        • GIT
      • Diseño
      • Frameworks
        • CakePHP
        • CodeIgniter
      • JavaScript
        • EXT JS
        • JQuery
      • Magento
      • Maquetación
        • CSS
        • HTML
      • MiniCodes
      • MySQL
      • PHP
      • Proyectos
      • TextMate
      • Varios
      • Wordpress
    • Portfolio

setTimeout en los metodos de tu clase

Posted by Adrià Cidre Categories: Blog, JavaScript Tags: Java Script, OOP, setTimeOut, this

SetTimeOut es una función interesante que nos permite hacer una llamada a una función transcurrido un número concreto de segundos. Para utilizar SetTimeOut solo tenemos que escribir una sentencia como esta:

function talk(str){
	alert(str);
}
setTimeout("talk('Hello')", 5000);

Los parámetros de la misma son dos, en primer lugar la función que se debe llamar, y en segundo el número de segundos que debe tardar en llamarla, en este caso llamara la función talk() en cinco segundos.

El problema que hoy queremos presentar, se presenta cuando intentamos utilizar setTimeOut desde dentro de un ‘objeto’ para llamar a uno de los métodos del mismo. De manera que tendríamos un código como este


setTimeout(this.talk('Hello'), 5000);

Esto no funcionará, ya que en javascript no existen clases como tales. Después de buscar y rebuscar por internet encontré este artículo, que me ofrecía la siguiente solución.


	setTimeout(function(thisObj) { thisObj.talk('hola'); }, 5000, this);

Estamos pasando como parámetro opcional de SetTimeOut nuestro objeto para poder interactuar con el dentro de la propia función.

Sinembargo mirando los comentarios nos damos cuenta que esta solución no es valida para Internet Explorer, y nos proponen la siguiente solución:


thisObj = this;
setTimeout(function() { thisObj.talk('Hola'); }, 50);

Espero que os sirva para hacer vuestros pinitos en Javascript.

Share This Post!

Subscribe to our RSS feed. Tweet this! StumbleUpon Reddit Digg This! Bookmark on Delicious Share on Facebook

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Search our website

  • Inicio
  • Blog
  • Consultor Web
  • Contactar
  • E-Commerce
  • Oridoki
  • Outsourcing
  • Portfolio
  • Sobre Mi
  • Social Media
© Adrià  Cidre Jugo - 2011