javascript - 在特定时间内运行一个函数

标签 javascript jquery

我正在尝试模拟轮盘赌,每 1/10 秒显示一次随机数字和背景颜色(黑色或红色)。下面的代码按预期工作,但我希望该函数只运行一段特定的时间,比如 5 秒。我想我需要使用 setTimeout(),但我无法让它与下面的代码一起工作。

$('#spin').click(function(){
function spinWheel() {
    var rouletteNum = Math.floor((Math.random() * 36) + 1);
    $('#rouletteWheel').html(rouletteNum);
    var color = ['red', 'black']
    var i = [Math.floor(Math.random()*color.length)];
    $('#rouletteWheel').css('background-color', color[i]);
}
   setInterval(spinWheel, 100);
});

最佳答案

一个简单的解决方案是使用计数器

$('#spin').click(function () {
    var counter = 0,
        loopCount = 50 //10 times in a  second * 5 seconds
        ;


    function spinWheel() {
        if (++counter >= loopCount) {
            clearInterval(interval);
        }
        var rouletteNum = Math.floor((Math.random() * 36) + 1);
        $('#rouletteWheel').html(rouletteNum);
        var color = ['red', 'black']
        var i = [Math.floor(Math.random() * color.length)];
        $('#rouletteWheel').css('background-color', color[i]);
    }
    var interval = setInterval(spinWheel, 100);
});

关于javascript - 在特定时间内运行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27030920/

相关文章:

javascript - 为 ajax 弹出窗口发送文本值

jquery - CSS 过渡在过渡结束后未触发

jquery - 有人可以帮我从 Jquery Plugin Masonry 切换到 Isotope 吗?

javascript - 打开 ext-js javascript 文件时 Eclipse Kepler 崩溃

javascript - 如何在鼠标悬停在另一个 div 上时隐藏 div?

javascript - 我的 jquery 代码不起作用。为什么?

javascript - 如何使用 html 地理位置和 google map api 获取当前位置

当数组包含更新数据时,Javascript 合并数组

jquery - 使用Giggle JS在Firefox中无法进行音频/视频通话

javascript - 除 1 个部分外禁用滚动