2011-07-18 41 views
9

Ktoś ma jakieś pomysły, dlaczego scrollTop nie działa w IE?ScrollTop nie działa w IE

Działa w Chrome dobrze, a ja nie wiem o firefox. (Idea tego skryptu jest mieć stronę autoscrolling że resetuje raz spadnie na dno strony)

function getheight() { 

       var myWidth = 0, 
      myHeight = 0; 
      if (typeof (window.innerWidth) == 'number') { 
        //Non-IE 
        myWidth = window.innerWidth; 
        myHeight = window.innerHeight; 
       } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { 
        //IE 6+ in 'standards compliant mode' 
        myWidth = document.documentElement.clientWidth; 
        myHeight = document.documentElement.clientHeight; 
       } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { 
        //IE 4 compatible 
        myWidth = document.body.clientWidth; 
        myHeight = document.body.clientHeight; 
       } 
       var scrolledtonum = window.pageYOffset + myHeight + 2; 
       var heightofbody = document.body.offsetHeight; 
       if (scrolledtonum >= heightofbody) { 
        document.body.scrollTop(0, 0); 
       } 
      } 

      window.onscroll = getheight; 

      function func() { 
       window.document.body.scrollTop++; 
      } 

      window.document.onmouseover = function() { 
       clearInterval(interval); 
      }; 

      window.document.onmouseout = function() { 
       interval = setInterval(func, 20); 
      }; 

      var interval = setInterval(func, 20); 

Odpowiedz

19

Spróbuj:

document.documentElement.scrollTop = x // where x is some integer 
2

Powodem takie rzeczy nie działają na jednego Przeglądarka lub inna jest zwykle spowodowana czymś podobnym:

window.document.body.scrollTop++; 

Nie można tego zrobić, ponieważ niektóre przeglądarki mają tę wartość jako ciąg, np. "5px" i niektórzy mają go jako liczbę.

+0

dzięki stary, w celu zmniejszenia tego problemu. – ClassyPimp

5

Spróbuj

window.scroll (0,0) // osi x, osi y

+1

Pracowałem dla mnie w IE8 –

+1

Pracowałem w IE9 .. –

+0

Jak animować lub spowalniać –