首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在任意时间调用blink()函数?

如何在任意时间调用blink()函数?
EN

Stack Overflow用户
提问于 2020-10-20 22:17:36
回答 2查看 134关注 0票数 2

我尝试过Math.random,但是它显示它是未定义的。

代码语言:javascript
复制
function startBlinking() {
    setInterval(function() {
        blink();
    }, 8000);
}

function blink() {
    goggleY = goggleY - 25;
    setTimeout(function() {
        if (goggleY > goggleY - 25) {
            goggleY = goggleY + 25
        }
    }, 150);
}

有没有一种方法可以在设定的数值内随机调用函数?(例如: random(1,10))?如有任何帮助,我们将不胜感激:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-20 23:24:16

摘自setTimeout() - in for loop with random delay

代码语言:javascript
复制
    setTimeout(function () {
        console.log(i);
    }, Math.floor(Math.random() * 1000)

就是你要找的东西。所以在你的情况下

代码语言:javascript
复制
//Function to generate random int from min to max inclusive on both ends
function getRandomInt(min, max) {
    min = Math.ceil(min);
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min + 1)) + min;
}    

function blink() {
  goggleY = goggleY - 25;
  setTimeout(function() {
   if (goggleY > goggleY - 24) {
    goggleY = goggleY + 25
   }
  }, getRandomInt(1,10));
}
blink();

对你来说,对setTimeout进行随机化的重要部分是逗号后面的最后一位。

代码语言:javascript
复制
setTimeout(function(){ alert("Hello"); }, <'the part where we set how long to wait in milliseconds'>);

祝你好运,祝你黑客生涯愉快。

票数 0
EN

Stack Overflow用户

发布于 2020-10-20 22:24:32

代码语言:javascript
复制
function blink() {
  goggleY = goggleY - 25;
  setTimeout(function Math.random() {
    if (goggleY > goggleY - 24) {
      goggleY = goggleY + 25
    }
  }, 150);
}
startBlinking();

Heres the code with Math.random
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64447110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档