javascript - 我如何在 jQuery 的函数之外调用 clearInterval?在 setInterval 之外

标签 javascript jquery function setinterval clearinterval

    function iPadMovie(id) {
    $(function () {
        var i = 1;
        var interval = setInterval(function () {
            jQuery('.animationMax img').attr({
                src: 'http://jdsports.scene7.com/is/image/JDSports/127932jd' + ('0' + i).slice(-2) + '?hei=255&wid=427&resmode=sharp&op_usm=1.1,0.5,0,0&defaultImage=JDSports/sizeImageMissing'
            });
            i++;
            if (i === 28) i = 1;
        }, 100);
    });
}

function playIpad(){
    iPadMovie();
}


function stopIpad(){
    clearInterval = interval;
}

你可以在这里看到 fiddle :http://jsfiddle.net/Vv2u3/15/如果他们按下播放键,我希望能够停止电影并重新开始。我当然可以在方法之外使用 clearInterval 吗?

最佳答案

这是例子 link .

var interval;

function iPadMovie(id) {
    $(function () {
        var i = 1;
        interval = setInterval(function () {
            jQuery('.animationMax img').attr({
                src: 'http://jdsports.scene7.com/is/image/JDSports/127932jd' + ('0' + i).slice(-2) + '?hei=255&wid=427&resmode=sharp&op_usm=1.1,0.5,0,0&defaultImage=JDSports/sizeImageMissing'
            });
            i++;
            if (i === 28) i = 1;
        }, 100);
    });
}

function playIpad(){
    iPadMovie();
}

这里稍微解释一下。 首先,您的间隔变量(它是 setInterval 返回的回调函数的实际处理程序)在 iPadMovie() 函数之外不可见,因此应在此函数之外声明间隔变量。 其次,您应该在 stopIpad() 函数内调用 clearInterval(handler) 函数。更多资料可引用here .

function stopIpad(){
    clearInterval(interval);
}

关于javascript - 我如何在 jQuery 的函数之外调用 clearInterval?在 setInterval 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20745790/

相关文章:

javascript - 最小化 JavaScript 中客户端/服务器之间发送的数据

javascript - mouseover 和 mouseout 触发多次

javascript - 需要等待 XMLHttpRequest 完成

javascript - 使用 jQuery/javascript 进行 HTML 表格转换

c - 调用函数而不使用其返回值会产生什么效果?

r - 将 R Shiny 应用程序保存为函数,并将参数传递给 Shiny 的应用程序

php - 将 javascript 添加到 OpenCart 中的所有页面

javascript - 如何用Javascript替换多个图像并改回来

JavaScript 客户端检查 URL 是否为图像

c - 在带有多个 malloc() 的二维数组的指针上使用 free() 吗?