Foros del Web » Programando para Internet » Javascript »

Detectar barra de scroll

Estas en el tema de Detectar barra de scroll en el foro de Javascript en Foros del Web. Hola a todos. Me gustaría saber cómo se detecta si es necesario que aparezca la barra de scroll en una ventana si su contenido es ...
  #1 (permalink)  
Antiguo 30/03/2003, 12:24
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 6 meses
Puntos: 4
Detectar barra de scroll

Hola a todos.

Me gustaría saber cómo se detecta si es necesario que aparezca la barra de scroll en una ventana si su contenido es mayor que la ventana.

Si pongo <body scroll="auto"> sale si es necesario, pero si aun necesitando el scroll, no quiero que aparezca, es decir, scroll="no", pero entonces ejecutar una serie de eventos.

Me imagino que a lo mejor puede ser algo así, pero no se si existen esas propiedades:

Código:
<script>
function comprobar(){
  if(document.scroll)
  {
     //eventos a desarrollar
  }
}
</script>

<body onload="comprobar()">
Sólo necesito compatibilidad para IE 6

Gracias.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 31/03/2003, 02:10
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 6 meses
Puntos: 4
Como Juan Palomo "yo me lo guiso, yo me lo como" .
Una posible solución, es meter todo el documento en una capa y detectar si esta es más grande que la altura del documento total.
Más o menos así:
Código:
<html>
<head>
<script>
function comprobar(){
if(textbox.offsetHeight >=document.body.clientHeight)
  {
  alert("Más grande\n" + "Tamaño de la capa: " + textbox.offsetHeight + "\n" + "Tamaño de la ventana: " + document.body.clientHeight)
  }
}
</script>

</head>

<body scroll="no" onLoad="comprobar()" onResize="comprobar()">
<div id="textbox">
Aquí meteríamos todo el contenido del documento
.....
<p>a</p>
<p>a</p>
<p>a</p>
<p>a</p>
<p>a</p>
<p>a</p>
<p>a</p>
<p>a</p>
<p>a</p>
<p>a</p>
.....
Final del documento
</div>
</body>
</html>
En principio a mí me funciona, probad a meter un contenido más largo si quereis y a redimensionar la ventana.
Habrá que hacer algunas modificaciones por el tema de la compatibilidad entre navegadores, pero eso se lo dejamos a caricatos
Ya me contaréis.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 31/03/2003, 03:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Muy bien (Juan Palomo)

Saludos
  #4 (permalink)  
Antiguo 31/03/2003, 03:54
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 6 meses
Puntos: 4
Muchas gracias
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 04:08.