【问题标题】:How to run javascript with no viewer input如何在没有查看器输入的情况下运行 javascript
【发布时间】:2023-03-09 14:30:01
【问题描述】:

我有一个为查看器输入而编写的 javascript 效果。 如何随机化这些值,从而消除查看器交互?我可以删除标签,但数字仍然可见。

这里是 HTML:

    <div id="control-box">
        <div>
            <label>Num Raindrops</label>
            <input id="num-rain" type="number" value="250" min="1" />
        </div>
        <div>
            <label>Rain Angle</label>
            <input id="angle" type="number" value="20" min="0" max="90" />
        </div>
        <div>
            <label>Angle Tightness</label>
            <input id="tightness" type="number" value="0" min="0" />
        </div>
        <div>
            <label>Raindrop Length</label>
            <input id="length" type="number" value="20" min="0" />
        </div>
        <div>
            <label>Variable Raindrop Length</label>
            <input id="var_length" type="number" value="0" min="0" />
        </div>
        <div>
            <label>Raindrop Speed</label>
            <input id="speed" type="number" value="7" min="0" />
        </div>
        <div>
            <label>Variable Raindrop Speed</label>
            <input id="var_speed" type="number" value="0" min="0" />
        </div>
    </div>
    <canvas id="rain"></canvas>

【问题讨论】:

  • 嘿尼基!您能否向我们展示该项目的 JavaScript,并更详细地解释您正在寻找的内容?在我看来,您想完全删除它的 form 方面,并让 JavaScript 随机生成值并执行代码 - 这听起来正确吗?
  • @Ryan 不错的评论。看到有人如此有礼貌并乐于提供帮助,真是令人耳目一新。
  • 是的,完全正确!我不想要表格,只想要很酷的效果。
  • document.querySelector('#control-box').style.display = 'none';
  • 谢谢威尔!那行得通!

标签: javascript inputbox


【解决方案1】:

好的,所以你已经解决了大部分你想做的事情。这篇文章不知道你的 JavaScript 是什么样的,所以请耐心等待:

您已经在 DOM 元素中设置了范围,因此将其转换为 JavaScript,您可以执行以下操作:

function getRandomArbitrary(min, max) {
    return Math.random() * (max - min) + min;
}

var numRaindrops = getRandomArbitrary(1, 1000); //minimum 1 drop, maximum 1000
var rainAngle = getRandomArbitrary(0, 90); //minimum 0 deg, maximum 90deg
var tightness = getRandomArbitrary(min, max);
...

然后将这些值传递给绘制画布的函数。这样做可以确保您设置的默认 value="{{value}}" 不是代码可以生成的唯一值!

现在,如果您只是想隐藏表单,并使用您创建的 DOM 来获取值(同样,据我了解,这将使值 static 而不是 dynamic,您可以只使用cssdisplay:none 输入,所以它们不会出现在屏幕上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多