onmouseover停止幻灯片帮助

时间:2011-08-13 22:42:53

标签: javascript

这是幻灯片放映的功能,onmouseover我希望它停止。它不会停止播放幻灯片,而是加速?我如何纠正这个以阻止onmouseover?

<body onload="nextslide();">

function nextslide() {
    // Hide current slide
    var object = document.getElementById('slide' + current); //e.g. slide1
    object.style.display = 'none';

    // Show next slide, if last, loop back to front
    if (current == last) {
        current = 1;
    } else {
        current++;
    }

    object = document.getElementById('slide' + current);
    object.style.display = 'block';
    var timeout = setTimeout(nextslide, 2500);

    object.onmouseover = function(){
        clearTimeout( timeout );
    }
    object.onmouseout = nextslide;
}

1 个答案:

答案 0 :(得分:3)

我尝试了你的代码,我能看到的唯一问题就是“onmouseout”,可以立即过渡到下一张幻灯片。我会改变这一行:

object.onmouseout = function() {
    timeout = setTimeout(nextslide, 2500);
}

我不同意Jared,因为你使用嵌套函数而内部函数可以访问外部函数作用域,所以在那里定义了“timeout”。在定义变量时,不应该省略var。