我有两个窗口:一个是用于iframe的页面,另一个是用于容纳iframe的页面。我的项目的目标是制作一个滚动的iframe,但是,当它被鼠标悬停时,它会暂停。我目前在iframe的页面中有以下代码: http://dabbler.org/edit/asdf/scrolling/index.html 以及用于存放iframe的页面代码: http://dabbler.org/edit/asdf/scrolling/index2.html
我的代码出了什么问题? (是的,我知道我没有身体,头部,HTML和其他,这不是问题,因为当页面被解释时会自动插入)
答案 0 :(得分:1)
未正确定义window.onmouseover和window.onmouseout。
你有这个:
window.onmouseout = pageScroll();
window.onmouseover = unpageScroll();
你想这样做:
window.onmouseout = pageScroll;
window.onmouseover = unpageScroll;
您正在设置onmouseout,并且onmouseover返回调用pageScroll和unpageScroll的返回值,但是您想在函数pageScroll和unpageScroll上设置onmouseout / onmouse。
最后,你在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;
顺便说一下,当页面尽可能垂直滚动时,你应该在将来某个时候在pageScroller中调用clearTimeout。如果窗口已经尽可能滚动,则继续调用scrollBy是没有意义的。