Foros del Web » Programando para Internet » Javascript »

Problema con ejecución de javascript en mozilla

Estas en el tema de Problema con ejecución de javascript en mozilla en el foro de Javascript en Foros del Web. Hola buenas noches, de antemano gracias a quien me pueda ayudar en mi problema :P Estoy haciendo una pagina con javascript donde se deberán mover ...
  #1 (permalink)  
Antiguo 09/12/2012, 04:19
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 11 años, 9 meses
Puntos: 2
Pregunta Problema con ejecución de javascript en mozilla

Hola buenas noches, de antemano gracias a quien me pueda ayudar en mi problema :P

Estoy haciendo una pagina con javascript donde se deberán mover diferentes div's al mismo tiempo cuando los arrastres con el cursor, hasta ahorita todo va bien, o bueno casi bien :(

Mi problema en sí es que no me quiere correr en mozilla, ya lo probé en IE, Chrome y Safari, el único que no me resulta es Mozilla, no se por que, pongo el código a ver si alguien me puede ayudar :D

Como dije, gracias de antemano.

Código HTML:
<html>

<head>

<style type="text/css">

	.objMovible { position:absolute; cursor:pointer }

</style>

<script type="text/javascript">

	var estoyArrastrando = false;
	var obj;
	var obj1;
	var a_des;
	var p_des;
	var pos_obj;
	var pos_obj_1;

	function presionarBoton() {

		estoyArrastrando = true;
		obj = document.getElementById('div_');
		obj1 = document.getElementById('div_1');
		a_des = event.clientX;
		pos_obj = parseInt(obj.style.left);
		pos_obj_1 = parseInt(obj1.style.left);
		return false;

	}

	document.onmousedown = presionarBoton;

	function arrastrarRaton(){

		if (estoyArrastrando) {

			p_des = event.clientX;

			if (((pos_obj>0)&&(pos_obj_1>0))||((pos_obj<0)&&(pos_obj_1<0))) { 

				obj.style.left = (p_des - a_des) + pos_obj;
				obj1.style.left = (p_des - a_des) + pos_obj_1;

			} else {

				obj.style.left = (p_des - a_des);
				obj1.style.left = (p_des - a_des);

			}

			return false;

		}

	}

	document.onmousemove = arrastrarRaton;

	function soltarBoton() {	

		estoyArrastrando = false;

	}

	document.onmouseup = soltarBoton;

</script>

</head>

<body>

<div  id="div_" class="objMovible" style="top:200px;width:200px;height:20px;background-color:#CC0000"></div>
<div  id="div_1" class="objMovible" style="width:200px;height:20px;background-color:#CC0000"></div>

</body>
</html> 
  #2 (permalink)  
Antiguo 09/12/2012, 05:36
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Problema con ejecución de javascript en mozilla

Firefox necesita que le pases el objeto event como un argumento, líneas 26 y 40, y luego tufuncion(e)

Código HTML:
Ver original
  1.  
  2.  
  3. <style type="text/css">
  4.  
  5.     .objMovible { position:absolute; cursor:pointer }
  6.  
  7.  
  8. <script type="text/javascript">
  9.  
  10.     var estoyArrastrando = false;
  11.     var obj;
  12.     var obj1;
  13.     var a_des;
  14.     var p_des;
  15.     var pos_obj;
  16.     var pos_obj_1;
  17.  
  18.     function presionarBoton(e) {
  19.  
  20.         estoyArrastrando = true;
  21.         obj = document.getElementById('div_');
  22.         obj1 = document.getElementById('div_1');
  23.         e = window.event || e;
  24.        
  25.         a_des = e.clientX;
  26.         pos_obj = parseInt(obj.style.left);
  27.         pos_obj_1 = parseInt(obj1.style.left);
  28.         return false;
  29.  
  30.     }
  31.  
  32.     document.onmousedown = presionarBoton;
  33.  
  34.     function arrastrarRaton(e){
  35.  
  36.         if (estoyArrastrando) {
  37. e = window.event || e;
  38.             p_des = e.clientX;
  39.  
  40.             if (((pos_obj>0)&&(pos_obj_1>0))||((pos_obj<0)&&(pos_obj_1<0))) {
  41.  
  42.                 obj.style.left = (p_des - a_des) + pos_obj;
  43.                 obj1.style.left = (p_des - a_des) + pos_obj_1;
  44.  
  45.             } else {
  46.  
  47.                 obj.style.left = (p_des - a_des);
  48.                 obj1.style.left = (p_des - a_des);
  49.  
  50.             }
  51.  
  52.             return false;
  53.  
  54.         }
  55.  
  56.     }
  57.  
  58.     document.onmousemove = arrastrarRaton;
  59.  
  60.     function soltarBoton() {   
  61.  
  62.         estoyArrastrando = false;
  63.  
  64.     }
  65.  
  66.     document.onmouseup = soltarBoton;
  67.  
  68.  
  69. </head>
  70.  
  71.  
  72. <div  id="div_" class="objMovible" style="top:200px;width:200px;height:20px;background-color:#CC0000"></div>
  73. <div  id="div_1" class="objMovible" style="width:200px;height:20px;background-color:#CC0000"></div>
  74.  
  75. </body>
  76. </html>
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 09/12/2012, 17:17
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: Problema con ejecución de javascript en mozilla

Grax men, me fuiste de gran ayuda, cada día aprendemos algo nuevo, me da gusto ver lo que puede llegar a hacer una comunidad.

Me sirvió perfectamente tu rectificación :D

Etiquetas: mozilla, programacionweb
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 22:19.