Foros del Web » Creando para Internet » HTML »

Ayuda Urgente

Estas en el tema de Ayuda Urgente en el foro de HTML en Foros del Web. Hola a todos !!! Tengo un gran problema . Trabajo con Dreamweaver y estoy diseñando algunas páginas con marcos. Veréis, tengo un menú y según ...
  #1 (permalink)  
Antiguo 13/12/2002, 04:34
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 15 años
Puntos: 1
Ayuda Urgente

Hola a todos !!!

Tengo un gran problema . Trabajo con Dreamweaver y estoy diseñando algunas páginas con marcos.

Veréis, tengo un menú y según se posiciona el ratón en cada una de las opciones se hacen visibles unas capas donde se ofrece una descricpción de cada opción. Esto lo he hecho con java script, .... hasta ahí, genial.

Pero el caso es que quiero hacer lo mismo en páginas en las que tengo marcos. Es decir, el menú está en un marco, y las capas quiero que se vean en otro.

¿Es esto posible? Por favor, ¿podéis ayudarme?

Muchas gracias de antemano.

Por si sirve de algo, os pongo un ejemplo de una página entera de lo que yo quiero hacer con marcos:

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language=javascript>
<!--
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" link="#C49815" vlink="#C49815" alink="#C49815">
<table width="37%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td onMouseOver="MM_showHideLayers('Capa1','','show')" onMouseOut="MM_showHideLayers('Capa1','','hide')" align="right">
<div align="center"><a href="Historia.htm" class="Opciones">Opcion 1&lt;</a></div>
</td>
</tr>
<tr>
<td onMouseOver="MM_showHideLayers('Capa2','','show')" onMouseOut="MM_showHideLayers('Capa2','','hide')" align="right">
<div align="center"><a href="construccion.htm" class="Opciones" >Opcion
2 &lt;</a></div>
</td>
</tr>
<tr> </tr>
</table>
<div id=Capa1 style="Z-INDEX: 1; LEFT: 235px; VISIBILITY: hidden; WIDTH: 151px; POSITION: absolute; TOP: 116px; HEIGHT: 119px" class="Cuadro">
<table cellspacing=0 cellpadding=2 width=200>
<tr>
<td bgcolor=#ffffff height="117">
<div align="center"><font color="#C49815" size="2" class="Explicacion">Esta
es la opci&oacute;n 1</font></div>
</td>
</tr>
</table>
</div>
<div id=Capa2 style="Z-INDEX: 1; LEFT: 235px; VISIBILITY: hidden; WIDTH: 151px; POSITION: absolute; TOP: 116px; HEIGHT: 119px" class="Cuadro">
<table cellspacing=0 cellpadding=2 width=200
>
<tr>
<td bgcolor=#ffffff height="117">
<div align="center"><font color="#C49815" size="2" class="Explicacion">Esta
es la opci&oacute;n 2</font></div>
</td>
</tr>
</table>
</div>
<p>&nbsp;</p>
</body>
</html>
  #2 (permalink)  
Antiguo 13/12/2002, 05:51
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Hola,

basta con que sigas los mismos pasos que diste para hacer lo mismo sin frames.

Desde la página de frames (el frameset abierto) crea las capas en el frame donde quieras que aparezcan. Luego pincha en el otro marco (donde esté el menú) y pidele el show-hide layers. Verás que te sugerirá interactuar con los layers de cualquier frame.

un saludo
  #3 (permalink)  
Antiguo 13/12/2002, 06:00
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 15 años
Puntos: 1
Mil gracias, te agradezco un montón que me hayas contestado.

El problema es que, no se por qué, con Dreamweaver no puedo hacerlo porque la opción de "mostrar/ocultar capas" me aparace inactiva cuando selecciono la celda.

Por eso necesito tener un ejemplo de cómo hacerlo con código.
  #4 (permalink)  
Antiguo 13/12/2002, 06:06
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Hum... no hay más que engañar al programa.

Si al seleccionar la celda no te invita a usar el show/hide layers... selecciona entonces un texto en la celda. Crea el comportamiento y luego desde el código fuente selecciona el código que te haya puesto en el texto y muevelo al tag de la celda <td>

  #5 (permalink)  
Antiguo 13/12/2002, 06:14
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 15 años
Puntos: 1
Ay, Dios mío!!!!, no te lo vas a creer, pero es que tampoco me deja seleccionando texto ni nada, lo he probado de mil formas.


Tengo claro que sería algo así:

onMouseOver="MM_showHideLayers('General.Historia', '','show')" onMouseOut="MM_showHideLayers('General.Historia',' ','hide')" >

General es el nombre del frame, pero no funciona, supongo que porque no estoy referenciando bien el marco ....


  #6 (permalink)  
Antiguo 13/12/2002, 06:22
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
jejeje me lo creo todo, que de todo tipo de marciandas me han pasado yá

Bueno, es posible que (por la razón que sea) te esté mostrando eventos para versiones antiguas de navegadores.

Fijate cuando se despliegan los behaviors (comportamientos) una opción que diga algo así como "mostrar eventos para".

tu tranqui que si es necsario le agarramos del cuello y yá
  #7 (permalink)  
Antiguo 13/12/2002, 06:42
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 15 años
Puntos: 1


Por fiiiinnnnn !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ya me ha salido, tenías razón, en cuanto seleccioné el navegador, he podido adjuntar los comportamientos.

Cuando he visto el código, era tan sencillo como esto:

MM_showHideLayers('Capa?Frame','','show')

Menos mal !!!!, ya me veía repitiendo todo el sitio.

Mil gracias, de verdad. Me has sacado de un buen apuro.

Un saludo y felices fiestas !!!!!!!!!!!!!!!!!!!!

GRACIAS
  #8 (permalink)  
Antiguo 13/12/2002, 06:47
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Estupendo!!!


Es bueno que te acostumbres a mirar el código que genera el programa. Con el tiempo aprenderás a ir más allá de lo que te ofrece el programa alterando o moviendo el código manualmente.


Felices fiestas pa ti tambien
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 23:50.