javascript - 如何在悬停时暂停幻灯片放映

标签 javascript jquery settimeout

当我将鼠标悬停在 jQuery 幻灯片中的图像上时,如何添加暂停效果?

$(document).ready(function () {
    slideShow();
});

function slideShow() {
    var showing = $('#slideshow .show');
    var next = showing.next().length ? showing.next() : showing.parent().children(':first');
    var timer;
    showing.fadeOut(500, function () {
        next.fadeIn(200).addClass('show');
    }).removeClass('show');
    setTimeout(slideShow, 3000);
}

最佳答案

var hovering = false;               //default is not hovering
$("#slideshow").hover(function () { //*replace body with your element
    hovering = true;                //when hovered, hovering is true
}, function () {
    hovering = false;               //when un-hovered, hovering is false
    slideShow();                    //start the process again
});

function slideShow() {
    if(!hovering) {                 //if not hovering, proceed
        /* Your code here*/
        nextSlide();
        setTimeout(slideShow, 1000);
    }
}

function nextSlide(){
    var showing = $('#slideshow .show');
    var next = showing.next().length ? showing.next() : showing.parent().children(':first');
    var timer;
    showing.fadeOut(500, function () {
        next.fadeIn(200).addClass('show');
    }).removeClass('show');
}

演示: http://jsfiddle.net/DerekL/mqEbZ/

关于javascript - 如何在悬停时暂停幻灯片放映,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15376808/

相关文章:

javascript - HTML5 - Canvas ,drawImage() 绘制图像模糊

将 Razor 变量分配给 Javascript 变量时出现 Javascript 语法错误

javascript - jQuery 验证某些输入必须彼此不同

javascript - 获取两个对象数组之间的差异

javascript - HTML5 Canvas 将圆形变成方形

javascript - 如何根据高度 float 元素

javascript - 在顶部显示受 CSS3 动画影响的 div

jQuery 不显示带有 setTimeout 的内容

javascript - 我的脚本使浏览器崩溃

Javascript 增加一个值以及增加它的速度