Делая DOM IE дружественным - PullRequest
0 голосов
/ 18 июля 2011

Как я могу сделать этот скрипт дружелюбным к IE?Единственные части, которые не дружат с IE, это переменные scrolledtonum и heightofbody ...

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

1 Ответ

2 голосов
/ 18 июля 2011

Документация mozilla MDN для scrollY содержит пример кода для решения проблем совместимости с pageYOffset: https://developer.mozilla.org/En/DOM/Window.scrollY.

В нем говорится следующее:

Для кросс-браузерной совместимости используйте window.pageYOffsetвместо window.scrollY, за исключением использования

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

, когда window.pageYOffsetwindow.scrollY) не определено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...