Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/03/2009, 14:32
Avatar de ClubIce
ClubIce
 
Fecha de Ingreso: diciembre-2008
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 2
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