Foros del Web » Programando para Internet » Javascript »

OnScroll no funciona en IE

Estas en el tema de OnScroll no funciona en IE en el foro de Javascript en Foros del Web. Hola, anteriormete habia preguntado cuel es el evento que susede cuando el scroll se mueve y como repuesta me han dado Onscroll . Resulta que ...
  #1 (permalink)  
Antiguo 01/03/2009, 11:27
Avatar de ClubIce  
Fecha de Ingreso: diciembre-2008
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 2
Exclamación OnScroll no funciona en IE

Hola,

anteriormete habia preguntado cuel es el evento que susede cuando el scroll se mueve y como repuesta me han dado Onscroll.

Resulta que el script que estoy realizando nesesita de este evento. cuando añadi este evento al script me funcionava correctamente con NS pero cuando lo puse a funcionar con IE no posaba nada.

Quisiera saber si hay algun evento que remplase a este.

--------------------------------------------------------------------------------------------------------

Mirando el problema que esplico anteriormete si me ocurrio un aidea en la cual hize el siguiente script que remplaza al evento onScroll:

Código javascript:
Ver original
  1. var X;
  2. var Y;
  3. ie4 = (document.all)? true:false
  4. if (ie4) {
  5. alert('Hola')
  6. x = document.body.scrollLeft;
  7. Y = document.body.scrollTop;
  8. }
  9. else {
  10. X = pageXOffset;
  11. Y = pageYOffset;
  12. }
  13. function OnScroll () {
  14. if (ie4) {
  15. if (docuement.body.scrollLeft!=X||document.body.scrollTop!=Y) {
  16. setTimeout(OnScrollOn,2)
  17. }
  18. else {
  19. setTimeout(OnScrollOff,2)
  20. }
  21. }
  22. else {
  23. if (pageXOffset!=X||pageYOffset!=Y) {
  24. setTimeout(OnScrollOn,2)
  25. }
  26. else {
  27. setTimeout (OnScrollOff,2)
  28. }
  29. }
  30. }
  31. function OnScrollOn () {
  32. // En las siguientes linea puedes escribir lo que quieres que //
  33. // Suseda en el evento OnScroll. //
  34. alert('¡¡¡¡¡ SCROLL !!!!!')
  35. // No Edites el siguiente codigo //
  36. if (ie4) {
  37. X = document.body.scrollLeft;
  38. Y = document.body.scrolltop
  39. }
  40. else {
  41. X = pageXOffset
  42. Y = pageYOffset
  43. }
  44. OnScroll();
  45. }
  46. OnScroll();
  47. function OnScrollOff () {
  48. OnScroll();
  49. }

En el anterior script lo que yo hago es primero guardar la posicion actual de los scroll de la pagina (pageXOffset y pageYOffset para NS; document.body.scrollLeft y document.body.scrollTop para IE)
Y luego ejecuto la funcion OnScroll que verifica si la posicion de los scrolls a cambiado: en el caso que si ejectuta OnScrollOn que vuelve a guardar la posicion de los scrolls para evitar que la funcion se repita en la misma posicion y despues vuelvo a ejecurtar OnScroll. Y así susesivamebte.

pero como en el problema anterior em IE no se ejecuta nado sino que se queda estatico. He repasado el script bastantes veses y no miro cual el es error

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:46.