Foros del Web » Creando para Internet » HTML »

Scroll, getElementById y spans/divs anidados

Estas en el tema de Scroll, getElementById y spans/divs anidados en el foro de HTML en Foros del Web. Estoy usando el típico scroll de layers que usa los siguientes spans: <span style="position: absolute; top: 55px; left: 690px; width: 1px; height: 1px; z-index: 1;" ...
  #1 (permalink)  
Antiguo 31/12/2003, 03:33
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Scroll, getElementById y spans/divs anidados

Estoy usando el típico scroll de layers que usa los siguientes spans:

<span style="position: absolute; top: 55px; left: 690px; width: 1px; height: 1px; z-index: 1;" id="up"><img src="/vidrio/img/scroll-pujar.gif"></span>
<span style="position: absolute; top: 385px; left: 690px; width: 1px; height: 1px; z-index: 2;" id="down"><img src="/vidrio/img/scroll-baixar.gif"></span>
<span style="position: absolute; top: 70px; left: 690px; width: 14px; height: 14px; z-index: 3;" id="drag"><img src="/vidrio/img/scroll-arrosegar.gif"></span>
<span style="position: absolute; top: 70px; left: 368px; width: 14px; height: 14px; z-index: 4;" id="ruler"></span>
<span style="position: absolute; top: 45px; left: 10px; width: 675px; height: 355px; clip: rect(0px, 675px, 355px, 0px); visibility: visible; z-index: 5; overflow: hidden;" id="contentClip">
<span id="content" style="top: 0px;position: absolute;">
Aquí el contenido
</span>
</span>

Las funciones usan el método getElementById() en los navegadores que soportan DOM, y va muy bien en la mayoría de casos.

Sin embargo, ahora que he puesto esos spans dentro de:

<div id="contingut">

No funciona

Supongo que debvo hacer algo como:

document.getElementById("contingut").document.getE lementById("content").style.top

En lugar de:

document.getElementById("content").style.top

Pero no sé que es exactamente lo que debo hacer. De momento voy probando por el método prueba y error. Si alguien se ha encontrado a con este problema y sabe como solucionarlo, me haría un favor compartiendo su conocimiento conmigo.
__________________
M a l d i t o F r i k i
  #2 (permalink)  
Antiguo 31/12/2003, 03:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.544
Antigüedad: 15 años, 8 meses
Puntos: 1262
Hola Cain:

Estabas poniéndolo bien. Creo que tendrías que poner en el div position: absolute...

Puedes probar que se selecciona el elemento con otr estilo como borde o color...

La forma de referenciar que propones está biens, pero sin el segundo document.

document.getElementById("contingut").getElementByI d("content").style.top

o de forma simplificada

document.getElementById("content").style.top

Saludos y ¡Felicidades!
  #3 (permalink)  
Antiguo 31/12/2003, 06:36
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
'nos días....


Cain, el método getElementById() se usa precisamente para no necesitar otra referencia para acceder a un nodo concreto del documento, basta con uno

Lo que sucede es que las posiciones de las capas son siempre en relación a su contenedor. Si la capa se encuentra como hija de document, la posición será relativa al document, pero si está dentro de otro div, será relativa al left y top de ese div madre
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 19:05.