Прокрутка окна прокрутки при наведении мыши - PullRequest
0 голосов
/ 12 июля 2011

По сути, это должен быть прокручиваемый фрейм, который, как только он достигает дна, сбрасывается на верх. Все эти функции работают нормально. Однако (обратите внимание, что это в файле .asp) Мне также нужна функция, которая, когда пользователь наводит курсор на окно, останавливает прокрутку. Это работает, но когда пользователь проводит мышью по окну, не удерживая мышью, прокрутка происходит, на самом деле, она даже прокручивается быстрее. Есть предложения?

    <html>
    <head>
        <link href="intranet.css" rel="stylesheet" type="text/css">
        <style>
        </style>
        <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            var num2 = 3;
            function getheight() {
                console.log(num2);
                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) {
                    window.scroll(0, 0);
                }
            }

            window.onscroll = getheight;

            function pageScroll() {
                num2 = 3;
                clearTimeout(scrolldelay);
                pageScroller();
            }
            function unpageScroll() { num2 = 0; }
            function pageScroller() {
                window.scrollBy(0, num2);
                scrolldelay = setTimeout('pageScroller()', num);
            }
            var num = 50;
            window.onmouseout = pageScroll;
            window.onmouseover = unpageScroll;
        </script>
    </head>
    <body onLoad="pageScroller()">
    <p></p>
    <br />
    <p></p>
    <br />
    <div id="datacontainer" style="position:relative;width:100%;text-align:center;" onMouseover="unpageScroll" onMouseout="unpageScroll">

    <!-- ADD YOUR SCROLLER COMMENT INSIDE HERE--------------------->
    <font face="Arial, Helvetica, sans-serif" size="1">
    <br>
    <center>
    <font size=2>
<!-- CONTENT-->
<!-- Closing tags --->

1 Ответ

0 голосов
/ 12 июля 2011

Этот простой скрипт, кажется, работает, возможно, вы можете из него сделать вывод, как изменить ваш скрипт: http://jsfiddle.net/xkuZF/1/.

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

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

document.body.onmouseout = function() {
    interval = setInterval(func);
};

var interval = setInterval(func);
...