Hola gente, estoy diseñando un sitio y necesito que al clickear en un texto, se me abra una ventana del tamaño exacto que diseñe de otra cosa. Por ejemplo, hago una lista de locales que ofrece algo, y me intereso alguna casa en especial y quiero ver todos sus precios, la quiero clickear para que me aparezca enuna ventana emergente la lista entera de precios. Alguien sabe? Yo lo sabía hacer pero no me acuerdo como era. Gracias.
Yo en un sitio tenía este (tocado por mi, creo que tenía una version mejorada) lo usaba para mostrar imágenes
function ShowPopup(pagewin, wim, him)
{
wim = wim+15
him = him+15
// open the popup window
var popupURL = pagewin;
var title='Visor 1.3'
var spec = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,width='+ wim +',height=' + him
var popup = window.open(popupURL,"Popup",spec);
// set the opener if it's not already set. it's set automatically
// in netscape 3.0+ and ie 3.0+.
popup.title = title;
if( navigator.appName.substring(0,8) == "Netscape" )
{
popup.location = popupURL;
popup.title = title;
}
}
Llamado con
javascript:ShowPopup('images/imagen.JPG',800,600)
PD: Lo muevo a programación (tal lo solicitado)
EDIT: Si querés algo más power, encontré la version mejorada, abre una ventana con un navegador de fotos. Es una archivo JS (POPUP-V2.JS) y otro PHP (IMAGENES.PHP) cuando haces el llamado al JS pones la cantidad de imagenes, tamaño, numero de la imagen, nombre de serie y automáticamente abre una barra navegadora
PHP
<html>
<head>
<title>Visor 2.0</title>
</head>
<script language="Javascript">
function resize(popupURL, wim, him) {
wim = wim+40
him = him+110
var title='Visor 2'
var spec = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width='+ wim +',height=' + him
var popup = window.open(popupURL,"Popup",spec);
popup.focus();
}
</script>
<body bgcolor="#FFFF00" link="#008000" vlink="#808000" alink="#FFFFFF" font face="Verdana" color="#000000">
<p align=center>
<img src="<?=$imagen?>" height="<?=$alto?>" width="<?=$ancho?>"
</p><p align=center><font face=Verdana>
<?=$navega?><br>
<a href="javascript:window.close()">Cerrar</a>
</font>
</p>
</body>
</html>
<?php
function armarnavegador($ba, $ord, $ult, $an, $al, $s) {
$barra="";
$lrota = "javascript:resize('imagenes.php?b=".$ba."&o=".$ord."&u=".$ult."&an=".$al."&al=".$an."&s=".$s."', ".$al.",".$an.")";
$barra = $barra."<a href=\"".$lrota."\"><small>Intercambiar Dimensiones</a></small><br>";
if ($ord!= 1) {
$ant = $ord -1;
$link = "imagenes.php?b=".$ba."&o=".$ant."&u=".$ult."&an=".$an."&al=".$al."&s=".$s;
$barra = $barra."<a href=\"".$link."\">Anterior</a> ";
} else {
$barra = $barra."Anterior ";
}
$barra = $barra.$ord."/".$ult;
if ($ord<$ult) {
$sig = $ord +1;
$link = "imagenes.php?b=".$ba."&o=".$sig."&u=".$ult."&an=".$an."&al=".$al."&s=".$s;
$barra = $barra."<a href=\"".$link."\"> Siguiente</a> ";
} else {
$barra = $barra." Siguiente";
}
return $barra;
}
?>
JS
//uso href="javascript:ShowPopup('nombreimagen', ancho, alto, 'serie(s/n)', 'numero', 'totales')"
//nombreimagen = sin .jpg y sin número si es serie (ej casa01.jpg = casa)
//serie = s si son varias fotos o n para una sola
//orden = numero de foto (en casa01 = 01)
//total = cantidad de fotos en la serie (casa01..casa99 = 99)
function ShowPopup(imagen, wim, him, serie, order, ultimo)
{
// open the popup window
var popupURL = 'imagenes.php?b='+imagen+'&o='+order+'&u='+ultimo+'&s='+serie+'&an='+wim+'&al='+him;
wim = wim+40
him = him+110
var title='Visor 2'
var spec = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width='+ wim +',height=' + him
var popup = window.open(popupURL,"Popup",spec);
// set the opener if it's not already set. it's set automatically
// in netscape 3.0+ and ie 3.0+.
popup.title = title;
if( navigator.appName.substring(0,8) == "Netscape" )
{
popup.location = popupURL;
popup.title = title;
}
popup.focus();
}
Esto me da mucha nostalgia dado que fueron algunos de mis primeros pasos en PHP y era para un exsuegro al que le hice el sitio de su inmobiliaria (cargaba las galerias de fotos de las casas y las mostraba en ventanas)
Igual esto comparado con CSS y AJAX quedó medio OUT
Claro, está bueno eso que decis, el tema es que no es para mostrar fotos, es para mostrar otro archivo htm o html con un listado de precios no más. Es el mismo código?
Exacto, en el primer codigo, donde dice images/imagen.jpg pones "listados/comercio1.html" y listo
Incluso, sabra el tiempo donde quedó, tenía uno que cargaba el texto desde la propia llamada (algo asi como showpopup("Este es un texto de muestra") y la ventana mostrada (con colores predefinidos y estilos y todo) el texto "Este es un texto de muestra"
Por otro lado, si combinas con PHP, y una base de datos (por ejmplo), donde cada comercio tiene un codigo (digamos 1, 2, etc) podes usar la forma del seundo codigo y pasar al php el codigo de comercio
LLamada "showpopup(1)"
y el showpoup tiene como URL /precios.php?comercio=1
Digamos, la función showpopup es el marco que, para con todo el JavaScript que quieras y combinarlo con PHP puedas hacer cualquier cosa, dado que en SI la función muestra una pagina determinada en una ventana con un tamaño definido, y funciones que controlan como armás la dirección