Foros del Web » Programando para Internet » Javascript »

Después de abrir ventana modal se va parriba!!

Estas en el tema de Después de abrir ventana modal se va parriba!! en el foro de Javascript en Foros del Web. En un formulario, hago @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < select name = "musica" class = "tb2" onchange = "return mus(this)" > < option ...
  #1 (permalink)  
Antiguo 01/05/2012, 03:41
 
Fecha de Ingreso: marzo-2012
Mensajes: 19
Antigüedad: 12 años
Puntos: 0
Después de abrir ventana modal se va parriba!!

En un formulario, hago

Código HTML:
Ver original
  1. <select name="musica" class="tb2" onchange="return mus(this)">
  2. <option value="default" selected>Selecciona una opción</option>
  3. <option value="<no">No</option>
  4. <option value="si(musica libre)">Sí(música libre)</option>
  5. <option value="si"></option>


La función mus abre una ventana modal de esta manera

Código Javascript:
Ver original
  1. function mus(sel)
  2. {
  3.     var f = sel.form;
  4.     var opt = sel.options[sel.selectedIndex].value;
  5.     if(opt=="si")
  6.     {
  7.        window.addEvent('domready', function() {
  8.  
  9. SqueezeBox.initialize({
  10. size: {x: 350, y: 320}
  11. });
  12.    SqueezeBox.open("http://web.com/musica/", {
  13.        handler: 'iframe',
  14.        size: { x: 350, y: 320 }
  15.    });
  16.  
  17. });
  18.     }
  19.     return true;
  20. }

Y al cerrar la ventana modal, la página se desplaza al principio. He probado a usar un focus() en el formulario pero no me funciona, no sé si lo hago mal. Si llamo a otra funcion que se encargue de hacer foco, no llega a entrar. ¿Cómo puedo hacer que se quede quieta pará?

Gracias!!
  #2 (permalink)  
Antiguo 01/05/2012, 10:16
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: Después de abrir ventana modal se va parriba!!

Si observás bién, el scroll hacia arriba se produce cuando cerrás con el botón X, no si cerras cuando hacés clcick fuera del sbox, para lograr igual comportamiento con el botón tenes que editar la squeezebox.js

Buscá la linea 91
this.closeBtn = new Element('a', {id: 'sbox-btn-close', href: '#'}).inject(this.win);
y le removes el marcador al href (#) que es lo que hace el movimiento hacia arriba, quedaría
this.closeBtn = new Element('a', {id: 'sbox-btn-close'}).inject(this.win);

Y en el squeezebox.css
agregas
cursor: pointer;
al id #sbox-btn-close

La documentación de ese plugin es bastante confusa, y no he visto ninguna opción para cambiar el comportamiento desde afuera con algún parámetro u opción.
Puede que la haya, porque si ves las demos de la página oficial, el scroll no se produce, pero no sé por que.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 02/05/2012, 09:12
 
Fecha de Ingreso: marzo-2012
Mensajes: 19
Antigüedad: 12 años
Puntos: 0
Respuesta: Después de abrir ventana modal se va parriba!!

Wow!! Gracias!! Funciona perfectamente.

Etiquetas: formulario, funcion, modal, ventanas
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 16:36.