2011-07-18 6 views
0

このスクリプトをIEフレンドリーにするにはどうすればよいですか? IEフレンドリーでない部分だけは、変数scrolledtonumheightofbodyです...DOM IEフレンドリーにする

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

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

quirksモードでは、 –

+0

@Mike Samuel奇妙なモードではありません。 – Odinulf

+1

あなたは本当にIE4ユーザーですか?そうでない場合は、IE4サポートコードを削除してください。 – Spudley

答えて

2

scrollY用のMozilla MDNドキュメントはpageYOffsetとの互換性の問題に対処するためのサンプルコードが含まれます。https://developer.mozilla.org/En/DOM/Window.scrollYを。

これは、次の言葉:クロスブラウザの互換性のため

、使用

(((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.ScrollTop == 'number' ? t : document.body).ScrollTop 
window.pageYOffset

(及びwindow.scrollY)を除き、代わりwindow.scrollYwindow.pageYOffsetを使用未定義です。

+0

あなたは私に 'document.body.offsetHeight'の解決策を与えたことはありません... – Odinulf

+0

私はコードを追加しました:(ここにあります)ここで間違っていますか? http://pastebin.com/nqaUQTW6 – Odinulf

+0

ScrollTopをscrollTopに変更したい場合があります。大文字と小文字が区別されます。 –

関連する問題