Foros del Web » Programando para Internet » Javascript »

otra vez js..

Estas en el tema de otra vez js.. en el foro de Javascript en Foros del Web. Por favor ayuda. No entiendo cómo se hace un archivo js. Es para meter dentro un menú e invocarlo desde cada página, se como invocarlo ...
  #1 (permalink)  
Antiguo 17/01/2003, 10:42
Avatar de fgil2  
Fecha de Ingreso: enero-2003
Ubicación: zaragoza
Mensajes: 285
Antigüedad: 21 años, 3 meses
Puntos: 0
otra vez js..

Por favor ayuda.
No entiendo cómo se hace un archivo js.
Es para meter dentro un menú e invocarlo desde cada página, se como invocarlo pero desconozco la forma de generarlo.
Pido un poco de paciencia conmigo...(consulté el FAQ, pero no entendí)
Gracias.
__________________
fer

Última edición por fgil2; 17/01/2003 a las 10:44
  #2 (permalink)  
Antiguo 17/01/2003, 12:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola fgil2:

En un fichero js debes poner las instrucciones javascript sin las etiquetas <script>...</script>
y poner texto (funciones js, variables, código...)

Y en en la página poner el tag <script> poniendo en el atributo src la ubicación absoluta o relativa del fichero js.

Voy a poner un ejemplo simple para que pongas un link a una página:

// este es el fichero.js
document.write("<a href='www.forosdelweb.com'>Visite Foros del Web</a>");

... y en el body de la página html (en el lugar donde quieras que aparezca:
<body>
<center><h1>Bienvenido a mi página</h1>
... bla, bla, bla...
<!-- aquí aparecerá el "js" -->
<script language="javascript" src="fichero.js"></script>

Espero que te sirva...

Saludos
  #3 (permalink)  
Antiguo 17/01/2003, 13:07
Avatar de fgil2  
Fecha de Ingreso: enero-2003
Ubicación: zaragoza
Mensajes: 285
Antigüedad: 21 años, 3 meses
Puntos: 0
Gracias por contestar caricatos:
A ver si te he entendido, en el caso del menú que tengo, quito las etiquetas <script>...</script> y las sustituyo por: document.write(aquí iria mi menú);
¿Es así?
__________________
fer
  #4 (permalink)  
Antiguo 17/01/2003, 13:21
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Exacto.

Si no te aclaras, pide más ejemplos y te los daremos.
  #5 (permalink)  
Antiguo 17/01/2003, 13:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Es algo así...
Lo que dices es lo que tienes que poner en el fichero js (en el ejemplo que te envié antes era ficheros.js, pero en tu caso podría ser menu.js)

...y en la página html dejar la etiqueta script, pero ponerle también el atributo src con la ubicación del fichero (si va en el mismo directorio, algo así: src="menu.js"

Trata de probar, y si te falla algo, pon ¿cómo lo has hecho para poder ver como arreglarlo.

Saludos
  #6 (permalink)  
Antiguo 17/01/2003, 13:31
Avatar de fgil2  
Fecha de Ingreso: enero-2003
Ubicación: zaragoza
Mensajes: 285
Antigüedad: 21 años, 3 meses
Puntos: 0
Esta podría ser la página......

<html>

<head>
<title>ejemplo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">

document.write(<!-- Begin
function scrollit(seed) {
var m1 = "";
var m2 = " ";

var msg=m1+m2;
var out = " ";
var c = 1;
if (seed > 100) {
seed--;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else if (seed <= 100 && seed > 0) {
for (c=0 ; c < seed ; c++) {
out+=" ";
}
out+=msg;
seed--;
window.status=out;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else if (seed <= 0) {
if (-seed < msg.length) {
out+=msg.substring(-seed,msg.length);
seed--;
window.status=out;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else {
window.status=" ";
timerTwo=window.setTimeout("scrollit(100)",75);
}
}
}
// End -->)
</head>

<body>
</body>
</html>

¿Cómo genero el fichero js.?
Ya he creado el código del menú y lo tengo similar a este ejemplo, pero al guardarlo me lo guarda como htm, ó txt.
__________________
fer
  #7 (permalink)  
Antiguo 17/01/2003, 13:45
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Mira un ejemplo:

Este sería el codigo del archivo 'menu.js'

Código:
codigo="<div>"+ 
"<a href='paginauno.html'>Enlace 1</a>"+
"<a href='paginados.html'>Enlace 2</a>"+
"<a href='paginatres.html'>Enlace 3</a>"+
"</div>"

document.write(codigo)
Lo que yo hago, es crear una variable con todo el código a la que la voy añadiendo líneas. Todas las líneas van entre comillas y acaban con un + (excepto la ultima) y luego, muestro esa variable. Ten cuidado de no mezclar las comillas dobles con las simples. Es decir, empieza y termina la línea con comillas dobles y lo que vaya entre comillas dentro, tiene que ir con simples.


Y este sería el codigo a poner en todas tus páginas cada vez que quieres que aparezca el menú:

Código:
<script language="javascript" src="menu.js"></script>
Si no entiendes, pregunta.

Última edición por Carlitos; 17/01/2003 a las 13:51
  #8 (permalink)  
Antiguo 17/01/2003, 14:17
Avatar de fgil2  
Fecha de Ingreso: enero-2003
Ubicación: zaragoza
Mensajes: 285
Antigüedad: 21 años, 3 meses
Puntos: 0
Abusando de tu confianza Carlitos:
Lo que yo pretendo es meter en un archivo js. el menú que aparece aquí , incluido el primer script, ubicarlo no se dónde y llamarlo desde todas las subpáginas de la principal.
Supongo que así cargaría más rápido...
__________________
fer

Última edición por fgil2; 17/01/2003 a las 14:27
  #9 (permalink)  
Antiguo 17/01/2003, 14:43
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
A ver, mirando tu código, saco estas conclusiones.

Debes meter en un fichero que se llame fichero.js todo esto:

Desde:

Código:
<script LANGUAGE="JavaScript">
<!-- Begin
function scrollit(seed) {
var m1  = "";
var m2  = " ";
...
Hasta

Código:
...
function moveRoot()
{
 with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);
}
//  End -->
</script>
No te olvides de quitar <script LANGUAGE="JavaScript"> y </script>

Y en tus páginas entre <head> y </head>

Código:
<script language="javascript" src="fichero.js"></script>
Y ya no tienes que hacer nada más.

Espero que hayas entendido.
  #10 (permalink)  
Antiguo 17/01/2003, 15:07
Avatar de fgil2  
Fecha de Ingreso: enero-2003
Ubicación: zaragoza
Mensajes: 285
Antigüedad: 21 años, 3 meses
Puntos: 0
Si es así como me dices, pero no se cómo meter todo en un js. le quito las etiquetas script, bien me cambia de color, correcto pero como le asigno el nombre al fichero, ¿que debo poner antes de
<!-- Begin
function scrollit(seed) {
y después de
function moveRoot()
{
with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);
}
// End -->
__________________
fer
  #11 (permalink)  
Antiguo 17/01/2003, 15:15
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Con tu permiso Carlitos.

fgil2, me pregunto si has revisado este FAQ. Hay en el un pequeño ejemplo de como hacer un js a partir de código escrito dentro de un HTML.

Saludos a ambos.
  #12 (permalink)  
Antiguo 17/01/2003, 15:34
Avatar de fgil2  
Fecha de Ingreso: enero-2003
Ubicación: zaragoza
Mensajes: 285
Antigüedad: 21 años, 3 meses
Puntos: 0
Pues si es lo primero que hice Kaopectate pero no lo consigo aislar, en fin ya avisé que era un poco torpe.
Gracias de todos modos.
Consultaré la información que me habeis facilitado y daré con ello.
Gracias a los tres.
__________________
fer
  #13 (permalink)  
Antiguo 17/01/2003, 16:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola fgil2:

Vamos por partes: (Perdona pero he tenido que salir)

Aunque asumas que seas algo torpe (no lo creo) con paciencia vas a enterarte...

Un fichero js es texto igual que el que hay dentro de un script en el head o en el body de cualquier página web.
Cuando creas un fichero js, es como si fuera un txt, y la funcionalidad es exactamente igual dentro de la página que fuera.

Lo que tienes que poner dentro de un js es lo mismo que hay dentro del tag script.
Para explicarte mejor, voy a hacerlo con otro ejemplo (el tuyo lo podrás deducir luego con relativa facilidad)

Paso 1:
Hacer una página sencilla con el archiconocido ¡Hola mundo!:
<html>
<body>
¡Hola mundo!
</body>
</html>

Paso 2:
... lo mismo usando javascript

<html>
<body>
<script language="javascript">
document.write("¡Hola mundo!");
</script>
</body>
</html>

Paso 3:
... modificar la página anterior para usar ficheros js
subpaso 1:
Creación del fichero js...

Crear un fichero de texto con cualquier nombre (preferentemente terminado en .js) por ejemplo hola.js
--- contenido de hola.js:
document.write("¡Hola mundo!");

subpaso 2:
Modificaciones para el uso del fichero "hola.js"
--- borrar lo que hay dentro del tag "script" y añadir el atributo src indicando el nombre del fichero... resultado:
<html>
<body>
<script language="javascript" src="hola.js">
</script>
</body>
</html>

... y yastá...
con el fichero original (tal vez hola.html) y otro js (hola.js) con una línea de código (en este ejemplo) la página debería funcionar.

Si entiendes hastá aquí, y no te importa que te explique de esta manera, te puedo seguir ayudando.

Saludos
  #14 (permalink)  
Antiguo 17/01/2003, 16:19
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Prueba asi:

Nombre del archivo: funciones.js
Código PHP:
function scrollit(seed) {
var 
m1 "";
var 
m2 " ";

var 
msg=m1+m2;
var 
out " ";
var 
1;
if (
seed 100) {
seed--;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else if (
seed <= 100 && seed 0) {
for (
c=seed c++) {
out+=" ";
}
out+=msg;
seed--;
window.status=out;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else if (
seed <= 0) {
if (-
seed msg.length) {
out+=msg.substring(-seed,msg.length);
seed--;
window.status=out;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else {
window.status=" ";
timerTwo=window.setTimeout("scrollit(100)",75);
}
}

Tu programa HTML quedaría asi:

Código PHP:
<html>
 <
head>
  <
title>ejemplo</title>
  <
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <
meta name="GENERATOR" content="Microsoft FrontPage 3.0">
  <
script language="JavaScript" src="funciones.js">
  
</script>
 </head>
 <body>
 </body>
</html> 
Si no te funciona avísame, porque tienes un document.write al que no le encuentro sentido. Quizás no estás enviando todo el código sino un pedazo.

Saludos.
  #15 (permalink)  
Antiguo 17/01/2003, 17:40
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Kaopectate, eso es una parte de su código. Si examinas el enlace que él dio, lo verás.

Fgil, como te ha dicho Caricatos, en el fichero .js debe ir lo que está entre <script> y </script>
Cómo hacer este fichero? Bien, el block de notas lo sabrás usar, no? Entonces abres un archivo nuevo (en blanco) pones ahí todo tu código javascript (desde/hasta donte te he dicho antes) y lo grabas como documento de texto y con el nombre fichero.js
Hasta aquí bien?
Luego en tu documento htm, ya no hace falta que esté todo ese código javascript. Simplemente tienes que poner, entre las etiquetas <head> y </head> la siguiente línea: (que es la que te hemos dicho antes)
<script language="javascript" src="fichero.js"></script>

Y ya está. No hace falta que toques nada más.

Cita:
¿que debo poner antes de
<!-- Begin
function scrollit(seed) {
...
No hace falta que pongas nada.
Cita:
y después de
...
with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);
}
// End -->
Tampoco hace falta poner nada más.

A ver si esta vez hay suerte.
  #16 (permalink)  
Antiguo 18/01/2003, 06:05
Avatar de fgil2  
Fecha de Ingreso: enero-2003
Ubicación: zaragoza
Mensajes: 285
Antigüedad: 21 años, 3 meses
Puntos: 0
Muchisismas gracias, Kaopectate, Caricatos y Carlitos.

Porfín habes conseguido que cree mi primer archivo js.
En vuestro honor lo bautizaré con vuestro nombre.
Ya os advertí que era un poco durillo, pero habeis tenido la paciencia suficiente para instruirme, de verdad, muchisimas gracias a los tres.
__________________
fer
  #17 (permalink)  
Antiguo 18/01/2003, 07:22
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
De nada.
  #18 (permalink)  
Antiguo 18/01/2003, 10:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284


Parece que has topado con unos "huesos" más duros.

saludos
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 05:38.