window.onmouseover и window.onmouseout определены неправильно.
У вас есть:
window.onmouseout = pageScroll();
window.onmouseover = unpageScroll();
Вы хотите сделать это:
window.onmouseout = pageScroll;
window.onmouseover = unpageScroll;
Вы устанавливали onmouseout и onmouseover для возвращаемых значений вызова pageScroll и unpageScroll, но вы хотели установить onmouseout / onmouseover для функций pageScroll и unpageScroll.
И, наконец, вы вызываете неправильную функцию в вашем setTimeout
.
Вы вызываете pageScroll, но хотите позвонить pageScroller
, который выполняет фактическую прокрутку.
РЕДАКТИРОВАТЬ
function pageScroll(){
num = 150;
clearTimeout(scrolldelay);
pageScroller();
}
function unpageScroll(){num = 15000000;}
function pageScroller() {
window.scrollBy(0,50); // horizontal and vertical scroll increments
scrolldelay = setTimeout('pageScroller()',num); // scrolls every 100 millisecond
}
var num = 50;
window.onmouseout = pageScroll;
window.onmouseover = unpageScroll;
Кстати, вы должны обработать вызов clearTimeout в pageScroller в какой-то момент в будущем, когда страница будет прокручиваться по вертикали настолько, насколько это возможно.Нет смысла продолжать вызывать scrollBy, если окно уже прокручено в максимально возможной степени.