Foros del Web » Programando para Internet » Javascript »

Segun resolucion

Estas en el tema de Segun resolucion en el foro de Javascript en Foros del Web. Tratare de explicarme, para ver si alguien puede ayudarme: Hice una pequeña aplicacion simulando un carrito de compras: http://pruebass.webcindario.com/drag5.html (Tienen que cerrar la ventana de ...
  #1 (permalink)  
Antiguo 30/05/2006, 02:22
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Segun resolucion

Tratare de explicarme, para ver si alguien puede ayudarme:
Hice una pequeña aplicacion simulando un carrito de compras:
http://pruebass.webcindario.com/drag5.html (Tienen que cerrar la ventana de publicidad de miarroba, por que si no , no funciona, cosa que no se por que pasa d esa manera).......
Aun no funciona mucho , me faltan cosas.. supuestamente ya me funcionaba, peroo solo en mi compu, y se me hacia muy raro que los demas no les funcionaba.. luego me di cuenta que era por las resoluciones que ellos tenian...
Al grano entonces:
La forma de como programe fue la siguiente:
Checo que un producto libero onmouseup, si lo libero dentro de las coordenadas donde se encuentra la cesta.. significa que lo deposito ahi.(hice un rango )....
Pero si la resolucion de alguien es de 800 X 600 por ejemplo, no le funcionara por que las coordenadas serian diferente... y yo uso 1280 X 768.
Ustedes que recomendarian hacer? ...podria, segun la resolucion mostrarle otra pagina con las coordenadas a corde a la resolucion ....o tambien o hacer la cesta (que se encuentra dentro de un div) mas chica... o no se...
Espero haberme explicado y aun mejor, si alguien me ayuda...
Gracias de antemano.
  #2 (permalink)  
Antiguo 30/05/2006, 15:38
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Sugerencias?:D
  #3 (permalink)  
Antiguo 30/05/2006, 17:07
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
no vi muy bien lo que ya tienes hecho. Pero supongo que la forma correcta seria que en vez de usar un numero fijo para determinar las coordenadas donde esta la cesta, las definas dinamicamente segun la info de la capa.

ej:

Código:
en vez de usar

cestaX = 123px;

usar

cestaX = document.getElementById('cesta').style.left; 

Saludos.
__________________
oohh... quisiera ser godines!!!
  #4 (permalink)  
Antiguo 30/05/2006, 17:54
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Muchas gracias por responder...una duda:
que es lo que devolveria
cestaX = document.getElementById('cesta').style.left;
???
  #5 (permalink)  
Antiguo 30/05/2006, 21:41
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
lo que puse antes era un ejemplo figurativo nada mas... quize explicarte teoricamente cual seria la forma correcta de evitar el problema con las diferentes resoluciones.

lo que quize decirte es que en la siguiente linea de codigo:

Código:
if((articulo)=="laptop" && (tempX )> 600 && (tempY)> 40 && arriba ){
en vez de usar los valores 600 y 40 (que solo se cumplirian en cierta resolucion) busques la forma de poner una variable que te de el numero actual de la posicion de la div "agregar".

un ejemplo puede ser:

Código:
var agregarX = parseInt(document.getElementById('agregar').style.right)-parseInt(document.getElementById('agregar').style.width);
          if((articulo)=="laptop" && (tempX )> agregarX && (tempY)> 40 && arriba ){
de nuevo esto es a modo de ejemplo ya que no lo probe (de hecho el ejemplo que muestras no me funciono, asi que tampoco hubiera servido de mucho que lo pruebe), pero es para que te des una idea de como pienso yo que seria la mejor forma de encarar tu problema
__________________
oohh... quisiera ser godines!!!
  #6 (permalink)  
Antiguo 31/05/2006, 14:57
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Cita:
Iniciado por safe
lo que puse antes era un ejemplo figurativo nada mas... quize explicarte teoricamente cual seria la forma correcta de evitar el problema con las diferentes resoluciones.
Primero.. muchas gracias...
Si yo sabia que era un ejemplo figurativo, me referia a la sintaxis...
Oye la variable que me pusiste (agregarX) devolveria... la posicion de la cesta, que seria el div agregar..
haria una condicion que comprobara si las coordenas del mouse son iguales o mayores que la posicion del div???
Dices que ya no use 600 y 40.. si tienes razon... pero entonces, ahora solo comprobaria contra un valor.. q seria la variable agregarX? por q en tu codigo me pusiste q comparara contra agregarX y contra 40....

Haber si me pueds ayudar un poquito porfavor..
  #7 (permalink)  
Antiguo 31/05/2006, 21:24
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
si, lo que dices es verdad.. pero porque solo te puse el ejemplo de la coordenada X.
Para la coordenada Y seria casi lo mismo.

Código:
var agregarX = parseInt(document.getElementById('agregar').style.right)-parseInt(document.getElementById('agregar').style.width);
var agregarY = parseInt(document.getElementById('agregar').style.top);
          if((articulo)=="laptop" && (tempX )> agregarX && (tempY)> agregarY && arriba ){
__________________
oohh... quisiera ser godines!!!
  #8 (permalink)  
Antiguo 31/05/2006, 22:47
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Ok..Ahora vayamos al funcionamiento del script...segun tu script.--si las coordenas del mouse deben de ser mayor a la posicion donde esta el div...
supongamos que por algun motivo yo cambio el div a otro lugar, por ejemplo , en medio ...si arrastras un producto y lo sueltas al final (osea despues de la cesta).. y luego pasas el puntero a la cesta.. lo va a agregar ,no?...
  #9 (permalink)  
Antiguo 01/06/2006, 00:19
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Por cierto la variable agregarX me da valor negativo... da -200.. y si lo pongo al reves de como me la diste da 200
Tambien marca un error en agregarY , dice q el objeto no acepta esa propiedad..
Agradesco tu ayuda!...
  #10 (permalink)  
Antiguo 01/06/2006, 08:56
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
Cita:
Iniciado por B**
Ok..Ahora vayamos al funcionamiento del script...segun tu script.--si las coordenas del mouse deben de ser mayor a la posicion donde esta el div...
supongamos que por algun motivo yo cambio el div a otro lugar, por ejemplo , en medio ...si arrastras un producto y lo sueltas al final (osea despues de la cesta).. y luego pasas el puntero a la cesta.. lo va a agregar ,no?...

Si, en eso tienes razon.
Pero te repito que yo casi no mire tu script (de hecho cuando lo quize probar no me funcionaba, a ninguna resolucion), solo busque la linea donde hacia la comparacion para ver la posicion de la capa arrastrada y reemplaze lo numeros fijos (600 y 40) por numeros variables obtenidos por javascript. Lo que puse no era para que lo uses asi, de hecho no se si esta bien ni lo probe. Era para que te des una idea de como seria la forma correcta de hacer esa comparacion y despues vos buscaras la forma que mas sirviera a tu proposito.
Osea, ya sabe que no tenes que usar numeros fijos para la comparacion sino que tenes que obtrener con javascript la posicion actual de la capa (que yo no estoy seguro cual es la mejor forma) y usar esos valores.

Cita:
Por cierto la variable agregarX me da valor negativo... da -200.. y si lo pongo al reves de como me la diste da 200
si es verdad, ahi me equivoque, en realidad hay que sumar el WIDTH y no restarlo.
__________________
oohh... quisiera ser godines!!!
  #11 (permalink)  
Antiguo 01/06/2006, 15:00
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Bueno.. primeramente .. la pagina si funciona,(http://pruebass.webcindario.com/drag5.html) pero tienes que cerrar la ventana de publicidad ( por q si no la cierras no funciona, jaja y no se por q) la probe en las 3 resoluciones mas populares y si funca..
Segundo.. se podra comparar 2 valores?, es decir , sacar la posicion del div,digamos que es 300,. entonces aumentarle un rango. no se.. 50 mas... y hacer una comparacion entre esos 2 valores..
if(tempX > agregarX && tempX < 350)
Sera valida la comparacion?? Eso lo hago con fines de q no lo suelte en otra posicion y q a la vez ese lugar sea mayor que la posicion del div...
Ahh haber si me puedes ayudar en la sintaxis correcta para sacar las posiciones.. Pero igual voy a investigar haber si encuentro..
Muchas gracias eh
  #12 (permalink)  
Antiguo 02/06/2006, 16:57
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Pues les cuento que ya encontre la solucion , y ya funciona en las 3 resoluciones ...
Lo que use para saber la posicion de cada producto fue:
offsettop para las coordenadas en Y
offsetleft para X
Ya nomas falta depurar el codigo... y el back-end en PHP.. (Casi todo!!)
  #13 (permalink)  
Antiguo 05/06/2006, 08:22
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
B**, disculpaa queno responi antes pero no estuve en casa lkos ultimos dias. Me alegro que hayas encontrado la solucion.
No conocia la propiedad offset, pero estaba seguro que haba una forma mejor que la que yo te dije.

saludos
__________________
oohh... quisiera ser godines!!!
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 20:13.