滚动iframe

时间:2011-07-11 17:48:36

标签: javascript html dom iframe

我有两个窗口:一个是用于iframe的页面,另一个是用于容纳iframe的页面。我的项目的目标是制作一个滚动的iframe,但是,当它被鼠标悬停时,它会暂停。我目前在iframe的页面中有以下代码: http://dabbler.org/edit/asdf/scrolling/index.html 以及用于存放iframe的页面代码: http://dabbler.org/edit/asdf/scrolling/index2.html

我的代码出了什么问题? (是的,我知道我没有身体,头部,HTML和其他,这不是问题,因为当页面被解释时会自动插入)

1 个答案:

答案 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是没有意义的。