【问题标题】:Dynamically-changing variables random intergers动态变化的变量随机整数
【发布时间】:2011-09-08 21:34:43
【问题描述】:

数字本身并不相关。我有一个用于跟踪移动车辆的变量列表。 UTC 时间:,纬度:,经度:,速度:,航向:,转向:,里程表:(PPM),GPS 状态:,STWS 状态:

就像我说的数字不相关,数学也不相关。我只需要为每个变量模拟动态变化的整数。例如,速度:25。然后 25 变成 26,然后是 28,然后是 15,依此类推。我将实现这段代码,然后为每个变量设置最小值和最大值。 我只需要向客户展示车辆跟踪系统监视器可以显示每个变量的变化值。

谢谢。

【问题讨论】:

  • 设备是否在某个时间间隔向您的系统推送信息?这些信息在哪里显示?您是否只需要一个不断更新这些字段的显示器?如果有,轮询信息是否有一定的时间间隔,即每秒、每 30 秒等?
  • James,这只是一个模拟,稍后我们实际上会让嵌入式系统将数据推送到机器上。该界面是一个网页。截至目前,我只需要展示该站点的模型,每个变量的数字都在变化以模拟汽车驾驶。没有实际的实时数据,只是一个模拟。
  • 好的,这些变量应该在什么时间间隔更新?
  • Dave 看起来不错,它基本上可以满足我的需求。但是有没有办法让它保持在一组数字范围内,随机生成这些数字,并且也没有附加开始按钮?我在哪里整合 $("#the_span_id").text(n);脚本?

标签: javascript string dynamic generator integer


【解决方案1】:

$("#the_span_id").text(n); 并将其连接到 JavaScript timer event

【讨论】:

  • Dave 看起来不错,它基本上可以满足我的需求。但是有没有办法让它保持在一组数字范围内,随机生成这些数字,并且也没有附加开始按钮?我在哪里整合 $("#the_span_id").text(n);脚本?
  • 使用普通的 JavaScript 随机数生成,例如 w3schools.com/jsref/jsref_random.asp。要开始页面加载,只需在文档准备好时启动计时器。你把上面的jQuery(请使用它,你会更好)代码片段(连同随机数的东西)放在计时器事件处理程序中。
  • 你能给我看一个有一个变量的例子吗?我不精通这些。对不起。或者当你说挂钩和随机的事情时,至少要更具体一点。我知道如何操纵。我只需要知道如何以及在哪里放置东西,这样它们就可以可靠地相互依赖。
  • 戴夫。谢谢,非常感谢!
【解决方案2】:

听起来你需要一个 jQuery 倒计时。看看这个链接:

http://www.tripwiremagazine.com/2011/04/9-cool-jquery-countdown-scripts.html

【讨论】:

  • 不确定这是我要找的东西,除非你知道如何操作它。该数字需要每半秒更新一次。该数字应该是随机的,而不是按顺序递增和递减的值,例如城市行驶中的汽车速度。变量在最小最大范围内。没什么花哨的,只是改变数字。我可以用 C 语言用 TCP/IP 测试板做,但需要 java,所以我可以在 web 上模拟它。
  • 那我的回答有什么问题呢?您可以在计时器事件中将跨度的文本设置为您想要的任何内容。
【解决方案3】:

您可以按照以下方式进行操作:

var DynVar = {
    variables: [],
    timer: 0,
    numIntervals: 0,
    counter: 0,

    updateVar: function(v) {
        v.value = Math.random() * (v.max - v.min) + v.min;
    },

    createVar: function(name, min, max) {
        var v = {"name": name, "min": min, "max": max};
        DynVar.updateVar(v);
        DynVar.variables.push(v);
        return v;
    },

    update: function() {
        for (i = 0; i < DynVar.variables.length; ++i) {
            var v = DynVar.variables[i];
            DynVar.updateVar(v);
            console.log(DynVar.counter + ": " + v.name + ": " + v.value);
        }
        if (DynVar.counter++ >= DynVar.numIntervals) {
            clearInterval(DynVar.timer);
        }
    },

    start: function(interval, numIntervals) {
        DynVar.counter = 0;
        DynVar.numIntervals = numIntervals;
        DynVar.timer = setInterval(DynVar.update, interval);
    }
};

DynVar.createVar("speed", 10, 30);
DynVar.createVar("latitude", 20, 22);
DynVar.start(1000, 3);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 2016-08-20
    • 2018-11-10
    • 2017-07-30
    • 2022-01-23
    • 2014-05-18
    相关资源
    最近更新 更多