Foros del Web » Programando para Internet » Javascript »

Frame con enlaces - Javascript

Estas en el tema de Frame con enlaces - Javascript en el foro de Javascript en Foros del Web. Hola!!! Soy nuevo en esto de Javascript... tengo un código para que al pasar por los enlaces con el ratón en estos se abra una ...
  #1 (permalink)  
Antiguo 17/12/2002, 05:29
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 22 años, 7 meses
Puntos: 0
Frame con enlaces - Javascript

Hola!!!

Soy nuevo en esto de Javascript... tengo un código para que al pasar por los enlaces con el ratón en estos se abra una caja con más enlaces a su vez... pero mi problema es q al hacer esa página con frames, me da error y no salen las cajas.

Alguien puee ayudarme?? Gracias
__________________
"El Universo simpre quiere que ganemos"
  #2 (permalink)  
Antiguo 17/12/2002, 05:58
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola Joselete,

pues así sin más datos es dicifil poder ayudarte
¿no tienes colgada la página en cuestión en algún sitio para poder ver el código y probarlo?

saludos
  #3 (permalink)  
Antiguo 17/12/2002, 05:59
 
Fecha de Ingreso: enero-2002
Mensajes: 95
Antigüedad: 22 años, 3 meses
Puntos: 0
buenas

Pues si sin frames te funciona, seguramente es pq no le indicas bien la "ruta".

Sería algo así: parent.nombredelframe.nombredelacaja.lapropiedadqu esea

Nos puedes decir qué error te da????

Saludos.
  #4 (permalink)  
Antiguo 17/12/2002, 06:41
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 22 años, 7 meses
Puntos: 0
creo q el problema reside en q no le indico bien la ruta a lo q vá entre el <head> y </head>


<style>
<!--

.menuskin{
position:absolute;
width:165px;
background-color:menu;
border:2px solid black;
font:normal 12px Verdana;
line-height:18px;
z-index:100;
visibility:hidden;
}

.menuskin a{
text-decoration:none;
color:black;
padding-left:10px;
padding-right:10px;
}

#mouseoverstyle{
background-color:highlight;
}

#mouseoverstyle a{
color:white;
}
-->
</style>

<script language="JavaScript1.2">


var linkset=new Array()

linkset[0]='<div class="menuitems"><a href="http://url0">Link url 0</a></div>'
linkset[0]+='<div class="menuitems"><a href="http://url01">Intercambio de banners</a>link url 0 1</div>'
linkset[0]+='<div class="menuitems"><a href="http://url02">link url 0 2</a></div>'

Asi con todos los enlaces.. sigue:

Post</a></div>'


var ie4=document.all&&navigator.userAgent.indexOf("Ope ra")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers

function showmenu(e,which){

if (!document.all&&!document.getElementById&&!documen t.layers)
return

clearhidemenu()

menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj

if (ie4||ns6)
menuobj.innerHTML=which
else{
menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
menuobj.document.close()
}

menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
eventX=ie4? event.clientX : ns6? e.clientX : e.x
eventY=ie4? event.clientY : ns6? e.clientY : e.y


var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY


if (rightedge<menuobj.contentwidth)

menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
else

menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX

if (bottomedge<menuobj.contentheight)
menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
else
menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventY
menuobj.thestyle.visibility="visible"
return false
}

function contains_ns6(a, b) {

while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function hidemenu(){
if (window.menuobj)
menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
}

function dynamichide(e){
if (ie4&&!menuobj.contains(e.toElement))
hidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
hidemenu()
}

function delayhidemenu(){
if (ie4||ns6||ns4)
delayhide=setTimeout("hidemenu()",500)
}

function clearhidemenu(){
if (window.delayhide)
clearTimeout(delayhide)
}

function highlightmenu(e,state){
if (document.all)
source_el=event.srcElement
else if (document.getElementById)
source_el=e.target
if (source_el.className=="menuitems"){
source_el.id=(state=="on")? "mouseoverstyle" : ""
}
else{
while(source_el.id!="popmenu"){
source_el=document.getElementById? source_el.parentNode : source_el.parentElement
if (source_el.className=="menuitems"){
source_el.id=(state=="on")? "mouseoverstyle" : ""
}
}
}
}

if (ie4||ns6)
document.onclick=hidemenu

</script>

Luego, en el cuerpo pongo:

<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,' on')" onMouseout="highlightmenu(event,'off');dynamichide (event)">
</div>

<a href="#" onMouseover="showmenu(event,linkset[0])" onMouseout="delayhidemenu()">Enlace 1</a><br>
<a href="#" onMouseover="showmenu(event,linkset[1])" onMouseout="delayhidemenu()">Enlace 2</a>


Y esto funciona bien en una página sola... a l hora de poner marcos, creo q no sé exactamente como insertar el código.

Alguna sugerencia?? GRACIAS
__________________
"El Universo simpre quiere que ganemos"
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 01:21.