Foros del Web » Programando para Internet » Jquery »

Fancybox abre nueva ventana

Estas en el tema de Fancybox abre nueva ventana en el foro de Jquery en Foros del Web. Buenas, Resulta que con windows.open creo una nueva ventana, y a a través de document.write voy creando el documento. En este documento, entre otras cosas, ...
  #1 (permalink)  
Antiguo 09/03/2013, 03:23
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 11 meses
Puntos: 4
Fancybox abre nueva ventana

Buenas,
Resulta que con windows.open creo una nueva ventana, y a a través de document.write voy creando el documento.
En este documento, entre otras cosas, tengo una imagen a la que quiero aplicar un zoom. Fancybox me parece bien.
El problema está que cuando ejecuto dicho código y hago click en la imagen, me abre una nueva ventana, con la imagen muy grande pero sin ningún efecto.
En cambio, si copio el código fuente de dicha página y lo ejecuto, el efecto lo hace bien.
La única cosa que veo diferente es con el window.open, quizás le tenga que pasar algunos parámetros, no sé, llevo horas y no veo por donde ir.
Si alguien tiene alguna idea se lo agraderé. Muchas gracias.

El código es el siguiente:
Código Javascript:
Ver original
  1. novaPagina = window.open("", "", "height=" + screen.height + ", width=" + screen.width
  2.     );
  3.     novaPagina.document.write("<!DOCTYPE html>");
  4.     novaPagina.document.write("<html lang='es'>");
  5.     novaPagina.document.write("<head>");
  6.     novaPagina.document.write("<meta charset='utf-8'>");
  7.     novaPagina.document.write("<link rel='stylesheet' href='css/style.css' type='text/css' media='all'>");
  8.     novaPagina.document.write("<link rel='stylesheet' href='css/jquery.fancybox.css?v=2.1.0' type='text/css' media='screen' />");
  9.     novaPagina.document.write("<link rel='stylesheet' href='css/jquery.fancybox-buttons.css?v=1.0.3' type='text/css' media='screen' />");
  10.     novaPagina.document.write("<script type='text/javascript' src='js/jquery.min.js'></script>");
  11.     novaPagina.document.write("<script type='text/javascript' src='js/script.js'></script>");
  12.     novaPagina.document.write("<script type='text/javascript' src='js/jquery.fancybox.pack.js?v=2.1.0'></script>");
  13.     novaPagina.document.write("<script type='text/javascript' src='js/jquery.fancybox-buttons.js?v=1.0.3'></script>");
  14.     novaPagina.document.write("<script type='text/javascript'>");
  15.     novaPagina.document.write(" $(document).ready(function() { ");
  16.     novaPagina.document.write(" $ ('a#fancybox').fancybox(); ");
  17.     novaPagina.document.write(" }); ");
  18.     novaPagina.document.write("</script>");
  19.     novaPagina.document.write("</head>");
  20.  
  21.     novaPagina.document.write("<BODY>");
  22.     novaPagina.document.write("<table width=100% height=100% bgcolor=#FFFFFF>");
  23.     novaPagina.document.write("<tr><td align=center valign=middle>");
  24.     novaPagina.document.write("<table border=1 width=800px height=600px>");
  25.     novaPagina.document.write("<tr>");
  26.     novaPagina.document.write("<td rowspan=2 align=center valign=middle><a id='fancybox' href='" + fotoP + "'><img id=fotoP src=" + fotoP + " width=287px height=350px /></a></td>");
  27.     novaPagina.document.write("<td align=center valing=middle><img src='" + carpeta + "text.png' width=250px height=400px></td>");
  28.     novaPagina.document.write("</tr>");
  29.     novaPagina.document.write("<tr>");
  30.     novaPagina.document.write("<td align=center>");
  31.     novaPagina.document.write("<table id=miniatures>");
  32.     for (i=1; i<= num_fotos; i++) {
  33.          if ((i%6) == 1) {
  34.             if (i==1)
  35.                 novaPagina.document.write("<tr>");
  36.             else
  37.                 novaPagina.document.write("</tr><tr>");
  38.          }
  39.          novaPagina.document.write("<td style='background-image:url(" + carpeta + "miniatures/" + arrayFotos[Number(index)][i] + "); text-align:left; vertical-align:bottom; background-repeat:no-repeat' ");
  40.          novaPagina.document.write("onmouseover=\"document.getElementById('fotoP').src='" + carpeta + "productes/" + arrayFotos[Number(index)][i] + "';document.getElementById('fancybox').href='" + carpeta + "productes/" + arrayFotos[Number(index)][i]  + "'\">");
  41.          aux = arrayFotos[Number(index)][i];
  42.          if (aux.indexOf("-N") != -1)
  43.              novaPagina.document.write("<img src='images/nens.png' width=20px height=20px></td>");
  44.          else
  45.              novaPagina.document.write("</td>");
  46.     }
  47.     novaPagina.document.write("</tr>");
  48.     novaPagina.document.write("</table>");
  49.     novaPagina.document.write("</td>");
  50.     novaPagina.document.write("</tr>");
  51.     novaPagina.document.write("</table>");
  52.     novaPagina.document.write("</td></tr>");
  53.     novaPagina.document.write("</table>");
  54.     novaPagina.document.write("</BODY>");
  55.     novaPagina.document.write("</HTML>");
  56.     novaPagina.close;
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #2 (permalink)  
Antiguo 11/03/2013, 01:20
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años, 7 meses
Puntos: 155
Respuesta: Fancybox abre nueva ventana

...bien el problema lo tienes que estas usando el método fancybox(); en un link que todavía no existe...si te fijas, en la linea 16...cuando el navegador va renderizando la web el link <a id='fancybox'> no existe aun, por eso no te funciona, si te fijas en la consola de error del navegador, te lo debe indicar....lo que tienes que hacer...es pasar ese código al final, antes de la etiqueta </body>...de esa forma estas aplicando el método fancybox() al link que ya ha sido renderizado por el navegador, es decir a un link que ya existe en la web...

Etiquetas: fancybox, html, javascript, js, ventana
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:53.