Foros del Web » Programando para Internet » Javascript »

Problema TONTO con variable global

Estas en el tema de Problema TONTO con variable global en el foro de Javascript en Foros del Web. Saludos el problema es el siguiente : tengo una funcion que llama a un evento del mouse. He definido un variable global llamada prueba. La ...
  #1 (permalink)  
Antiguo 27/11/2012, 19:42
 
Fecha de Ingreso: noviembre-2012
Mensajes: 1
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema TONTO con variable global

Saludos el problema es el siguiente : tengo una funcion que llama a un evento del mouse. He definido un variable global llamada prueba. La cual debo imprimir con el valor 777 pero siempre me imprime el valor original que es 4444. La pregunta es: Porque siendo una variable global no se modifica al colocarle el valor arbitrario 777? En realidad el objetivo principal es aun mayor pero estoy atorado en la modificacion de este valor global. Gracias de antemano. Aqui esta el codigo:
Código:
var x;
var prueba;
x=$(document);
x.ready(inicializarEventos());
var px1, px2, py1,py2;
var bandera =true;
var bandangulo =true;


function inicializarEventos()
{
  var x;
  x=$(document);
  prueba=44444;
  x.click(moverMouse);

}

function moverMouse(event)
{
  var angulovar; //representa el angulo en si
prueba=777;
  var x;
  x=$("#corx");
  x.text("coordenada x="+event.clientX);
  x=$("#cory");
  x.text("coordenada y="+event.clientY);
  
  
  // Dibujar circulo
  $("canvas").drawEllipse({
  fillStyle: "#000",
  x: event.clientX-5, y: event.clientY-5,
  width: 10, height: 10
  });
  if (bandera == true)
  {
  	bandera=false;
	px1=event.clientX;
	py1=event.clientY;
	//alert(px1);
	
  }
  else
  {
  	bandera=true;
	px2=event.clientX;
	py2=event.clientY;
	//alert(px2);
	$("canvas").drawLine({
	strokeStyle: "#000",
  	strokeWidth: 4,
  	x1: px1-5, y1: py1-5,
  	x2: px2-5, y2: py2-5,
    });
    /// Pendiente
    var pendiente1;
  	pendiente1=$("#pendiente1");
	    var pendiente2;
  	pendiente2=$("#pendiente2");
	n= ((py2-py1)/(px2-px1));

	if (bandangulo == true)
  	{
		m=n;
		bandangulo=false;
		pendiente1.text("pendiente1 ="+ (n));
	}
	else
	{
		bandangulo=true;
		
		angulovar = (Math.abs(	Math.atan((m-n)/(1+(m*n))))*180/Math.PI);
		var textoangulo; //representa la cadena a exportar 
		textoangulo=$("#angulo");
		textoangulo.text(angulovar);

				pendiente2.text("pendiente2 ="+ (n));	}
//		prueba=angulovar;
//		return prueba;
  }
  
}

Última edición por zerokilled; 28/11/2012 a las 11:01 Razón: bbcode
  #2 (permalink)  
Antiguo 28/11/2012, 10:51
 
Fecha de Ingreso: noviembre-2012
Mensajes: 32
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Problema TONTO con variable global

Buenos dias,

prueba a darle un valor cuando la inicias

var variable='';

cuando la quieras cambiar su valor solo tienes que llamarle variable='4444';

si la llamas desde otro frame parent.variable='44444';

Creo que funcionara, a mi me funciona.
  #3 (permalink)  
Antiguo 28/11/2012, 14:35
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: Problema TONTO con variable global

En este código la variable global se modifica sin problemas:
Código HTML:
Ver original
  1. <input type="button" id="inicializar" value="inicializar"/>
  2. <input type="button" id="mover" value="mover"/>
Código Javascript:
Ver original
  1. var prueba;
  2.  
  3. function inicializarEventos(){
  4.     prueba=44444;
  5.     return prueba;
  6. }
  7.  
  8. function moverMouse(event){
  9.     prueba=777;
  10.     return prueba;
  11. }
  12.  
  13. window.onload = function(){
  14.     document.getElementById('inicializar').onclick = function(){
  15.         alert(inicializarEventos()); //44444
  16.     };
  17.     document.getElementById('mover').onclick = function(){
  18.         alert(moverMouse());         //777
  19.     };
  20. }

Espero te sea de ayuda. Saludos
  #4 (permalink)  
Antiguo 28/11/2012, 14:55
 
Fecha de Ingreso: noviembre-2012
Mensajes: 32
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Problema TONTO con variable global

Ya, a mi tb me funciona sin tener que asignarle ningun valor, pero.......

no pude ser la version de explorador, o ...

Saludos

Etiquetas: funcion, global, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:22.