Foros del Web » Programando para Internet » Javascript »

Necesito no repetir la funcion...

Estas en el tema de Necesito no repetir la funcion... en el foro de Javascript en Foros del Web. A ver... tengo esto en head Código PHP: < script language = "javascript"  type = "text/javascript" > function  nico (){ Popup = window . open ( ...
  #1 (permalink)  
Antiguo 05/02/2004, 12:07
 
Fecha de Ingreso: noviembre-2003
Ubicación: Lo suficientemente cerca...
Mensajes: 95
Antigüedad: 20 años, 5 meses
Puntos: 1
Necesito no repetir la funcion...

A ver...
tengo esto en head

Código PHP:
<script language="javascript" type="text/javascript">
function 
nico(){
Popup=window.open("nico.htm","Popup","width=800,height=450,top=0,left=0,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,location=yes")}
</script> 
Código PHP:
<script language="javascript" type="text/javascript">
function 
ana(){
Popup=window.open("ana.htm","Popup","width=800,height=450,top=0,left=0,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,location=yes")}
</script> 
Y en body tengo la funcion para llamar al javascript de cada uno...

Código PHP:
<a href="javascript:ana()">Ana</a>
<
a href="javascript:nico()">Nico</a
Pero aparte de todo eso, tengo como 20 personas, y lo que no quiero es repetir la funcion :

Código PHP:
<script language="javascript" type="text/javascript">
function 
alguien(){
Popup=window.open("alguien.htm","Popup","width=800,height=450,top=0,left=0,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,location=yes")}
</script> 
Sino tener una funcion base y luego una variable para cada persona, pero es que no me sale...

Como se hace...

El javascript me puede jejeje

Última edición por jabakero; 05/02/2004 a las 12:22
  #2 (permalink)  
Antiguo 05/02/2004, 13:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, jabakero.
Código PHP:
function abrir(valor){
eval(
'Popup=window.open("'+valor+'.htm","Popup"," width=800,height=450,top=0,left=0,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,location=yes")')} 
Y la llamas con:
Código PHP:
<a href="#" onclick="abrir('ana');return false">Ana</a
He leido por la güeb que usar <a href="javascript:..." no es recomendable, por eso te he puesto esta otra forma.

Espero que te sirva. Saludos,

Última edición por JavierB; 05/02/2004 a las 13:57
  #3 (permalink)  
Antiguo 05/02/2004, 16:50
 
Fecha de Ingreso: noviembre-2003
Ubicación: Lo suficientemente cerca...
Mensajes: 95
Antigüedad: 20 años, 5 meses
Puntos: 1
Gracias

Gracias Javier por ayudarme...

Jajaja, vos siempre sacandome de apuros...
Sabia que era algo asi...

Bueno, solo algo asi

Ya me funciono de maravilla...
Bueno, no es mas...

Adios!
  #4 (permalink)  
Antiguo 05/02/2004, 17:34
 
Fecha de Ingreso: noviembre-2003
Ubicación: Lo suficientemente cerca...
Mensajes: 95
Antigüedad: 20 años, 5 meses
Puntos: 1
Ah y otra cosa, necesito poner este codigo junto a este:

Código PHP:
<script language="javascript">
function 
launch(){
x=window.open("previewforo.htm","WindowName","width=900,height=600,top=0,left=0,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,location=yes")
var 
ventana window.self;
    
ventana.opener window.self;
    
ventana.close();
}
</script> 
Como hago, nunca he metido un javascript en un archivo aparte...
  #5 (permalink)  
Antiguo 05/02/2004, 21:25
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
si son funciones que vas a estar necesitando constantemente puedes abrir un archivo y nombrarlo misfunciones.js
ahi metes todas las funciones en js que requieras, sin poner <script.... /script>
luego lo llamas, normalmente en el head del documento html o php donde vas a utilizar las funciones.

<head>
<!--
<script languaje="Javascript" src="ruta al archivo/misfunciones.js"></script>
-->
</head

y tus funciones estarán automáticamente disponibles...

espero haber entendido bien tu duda, y aun mas espero haberla aclarado... saludos
  #6 (permalink)  
Antiguo 06/02/2004, 09:30
 
Fecha de Ingreso: noviembre-2003
Ubicación: Lo suficientemente cerca...
Mensajes: 95
Antigüedad: 20 años, 5 meses
Puntos: 1
Bueno, aclaraste la mitad de mi duda jejeje...
Lo que no se hacer es meter las funciones en un archivo .js...

que sintaxis debo usar????????
  #7 (permalink)  
Antiguo 06/02/2004, 12:45
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

La sintaxis es la misma. Unicamente, como te dijo sism82, no tienes que poner las etiquetas <script> y </script> porque todo el código va a ser JavaScript y no hace falta saber donde empieza y termina. Esto podría ser un archivo .js

function launch(){
x=window.open("previewforo.htm","WindowName"," width=900,height=600,top=0,left=0,resizable=yes,sc rollbars=yes,menubar=yes,toolbar=yes,status=yes,lo cation=yes")
var ventana = window.self;
ventana.opener = window.self;
ventana.close();
}

Espero haberme explicado. Saludos,
  #8 (permalink)  
Antiguo 06/02/2004, 15:56
 
Fecha de Ingreso: noviembre-2003
Ubicación: Lo suficientemente cerca...
Mensajes: 95
Antigüedad: 20 años, 5 meses
Puntos: 1
O sea que el archivo seria algo como:

Código PHP:
function abrir(valor){
eval(
'Popup=window.open("'+valor+'.htm","Popup","  width=800,height=450,top=0,left=0,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,location=yes")')}

function 
launch(){
x=window.open("previewforo.htm","WindowName"," width=900,height=600,top=0,left=0,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,location=yes")
var 
ventana window.self;
ventana.opener window.self;
ventana.close();


Última edición por jabakero; 06/02/2004 a las 15:58
  #9 (permalink)  
Antiguo 06/02/2004, 19:04
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
correcto, nada mas
  #10 (permalink)  
Antiguo 12/03/2004, 04:50
 
Fecha de Ingreso: marzo-2004
Ubicación: Bilbao
Mensajes: 3
Antigüedad: 20 años, 1 mes
Puntos: 0
¿alguien puede ayudarme? necesito un javascript como el que da origen a todo esto, pero que tenga el alto y el ancho variable. igual soy un inútil, pero no lo consigo. en realidad necesito que la url, el alto y el ancho sean variables, lo de la url está solucionado con la respuesta de JavierB, pero intentando lo mismo con el alto y el ancho, casca.
  #11 (permalink)  
Antiguo 12/03/2004, 07:17
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61

Prueba con esto:

Código PHP:
<script>
function 
abrir(direccion,ancho,alto){
x=(screen.width-ancho)/2;
y=(screen.height-alto)/2;
pepe=window.open(direccion,"pepe","height="+alto+",width="+ancho+,"top="+y+",left="+x);
}
</script>

<a href="#" onclick="abrir('http://www.forosdelweb.com',500,400);return false"> abrir</a> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #12 (permalink)  
Antiguo 12/03/2004, 10:51
 
Fecha de Ingreso: marzo-2004
Ubicación: Bilbao
Mensajes: 3
Antigüedad: 20 años, 1 mes
Puntos: 0
muchas gracias, perfecto, además centrado, que no lo había pedido (bueno has equivocado el orden de una coma y una comilla, pero ya si no pillo eso...)
  #13 (permalink)  
Antiguo 14/03/2004, 05:07
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Ups! es verdad!

Me alegro de que te sirviera!!

Por cierto, si alguien no sabe a qué coma se refiere gonzalo 1967 es la línea esta:

pepe=window.open(direccion,"pepe","height="+alto+" ,width="+ancho+,"top="+y+",left="+x);

que debe ir así:

pepe=window.open(direccion,"pepe","height="+alto+" ,width="+ancho+",top="+y+",left="+x);

Un saludo!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 06:06.