Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/02/2011, 11:29
Blashak
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Objetos javascript

Buenas,

no puedo declarar la variable fuera de una funcion ya que al hacer click sobre el boton eso ejecuta la funcion.
Pude logar que se haga la suma un vez creado el objeto gato pero el problema es que cada vez que le da a sumar se repite el numero varias veces.
Ej: si hace un click en sumar aparece
dos veces 1
si hace otro click en summar aparece dos veces 1 y luego dos veces 2 y asi...
porque ocurre esto.

Código Javascript:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5.         <title>Untitled Document</title>
  6. <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
  7.     </head>
  8.     <body>
  9.         <input type="button" value="boton" onclick="crear('michu')">
  10.         <input type="button" value="summar"  id="edad">
  11.         <script type="text/javascript">
  12.            
  13. var Gato = function (color, edad) {
  14.    
  15.     this.color = color;
  16.     this.edad = edad;
  17.     this.mostrar = mostrar;
  18. this.cambiare = cambiare;
  19. }
  20.  
  21. function crear(objeto, nuevaedad){
  22.     if(document.getElementById("textogato")){
  23.     alert(nuevaedad);
  24.     var color = objeto.color;
  25.     var edad = nuevaedad;
  26.     var objeto = new Gato(color, edad);
  27.  
  28.    
  29.     objeto.cambiare(objeto);
  30.    
  31.     }else{
  32.     //objeto es el nombre del gato
  33.     var color= "blanco";
  34.     var edad= 10;
  35.  
  36.    
  37.     objeto = new Gato(color, edad);
  38.     objeto.mostrar(objeto);
  39.     objeto.cambiare(objeto);
  40.     }
  41. }
  42.  
  43. function mostrar(objeto){
  44.    
  45.                 var $p = $('<p>');
  46.                 var id = "textogato";
  47.                 var $objeto = $p.attr("id", id);
  48.                 var $texto = objeto.color;
  49.                 var $objeto = $p.text($texto); 
  50.                 $objeto.css("display", "inline");
  51.                 $objeto.css("background", "red");
  52.                
  53.                 $objeto.css("font-size", "20px");
  54.                 $objeto.css("color", "blue");
  55.                        
  56.                 $objeto.appendTo('body');
  57.  
  58.            
  59.  
  60. }
  61.  
  62. function cambiare(objeto){
  63.  
  64. $('#edad').click(function() {
  65.  
  66. var edad = objeto.edad;
  67.  
  68.  
  69. var nuevaedad = Number(edad)+ 1;
  70. alert(nuevaedad);
  71.  
  72. crear(objeto, nuevaedad);
  73.  
  74.  
  75. });
  76.    
  77. }
  78.  
  79.            
  80.         </script>
  81.     </body>
  82. </html>

Saludos