2011-07-18 3 views
9

У кого-нибудь есть идеи, почему scrollTop не работает в IE?ScrollTop не работает в IE

Он работает в Chrome отлично, и я не знаю об firefox. (Идея этого сценария, чтобы иметь страницу автопрокрутку, что сбрасывает, как только он попадает в нижней части страницы)

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); 

ответ

19

Try:

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

Причина вещи, как это не работает на одной браузер или другое, как правило, из-за чего-то вроде:

window.document.body.scrollTop++; 

Вы не можете просто сделать, потому что некоторые браузеры имеют это значение в виде строки, например «5px», а некоторые - как число.

+0

спасибо чувак, для уменьшения проблемы с этим. – ClassyPimp

5

Попробуйте

window.scroll (0,0) // Ось х, ось у

+1

Работал для меня в IE8 –

+1

Работал в IE9 .. –

+0

Как оживить его или заставить его идти медленно –

Смежные вопросы