javascript - 在用户可以交互的地方进行实时(动态系统)模拟
问题描述
我想用 HTML 和 Javascript 来模拟一些系统,比如说一个离散的微分方程,比如
x_new = x_old + factor * (bound - x_old)
现在我想给查看 HTML 页面的用户提供实时干预的可能性,例如factor
使用一些滑块更改 的值并查看其对动态系统的影响。
现在原则上我知道这样做的基础知识,但我遇到了以下问题:
我需要将模拟速度设置为某个值,并且由于计算(显然)非常快,我需要插入人为的等待时间(这样模拟感觉就像是“实时”的,而不仅仅是在十分之一的时间内快速过去)第二)。同时,我想让用户与所有元素进行交互,而不会由于某些等待过程而使窗口“冻结”。总而言之,我有以下规格:
- 某些过程的实时模拟
- 用户可以随时进行交互(使用按钮和滑块)并查看动态变化
我确信类似的东西已经存在,所以有人可以向我指出一个“最佳实践”的例子吗?或者,也非常感谢您提供有关如何自己解决问题的提示。谢谢!
解决方案
对于“滑动”部分,您可以使用一些外部组件,但这在一定程度上取决于您使用的 JavaScript 框架和/或您是否使用 Jquery 或类似的东西。
为了模拟较低的速度,您可以使用 window.setTimeout。这个函数基本上在等待几毫秒后执行另一个函数。
setTimeout(
function(){
///Make something here
}, 3000); //execute it after 3000 milliseconds passed.
我在 jsfiddle 中制作了一个非常基本的纯 javascript/html 示例。这应该让你开始。
推荐阅读
- windows - 在 Windows 上使用 Microsoft USMT 工具重建/重新创建用户配置文件
- reactjs - react-dropzone 将上传的文件转换为字节数组
- vue.js - 计算属性设置器创建超出 Maximus 堆栈
- oracle - 导出 Oracle 模式 ORA 1455
- form-recognizer - GetCustomModelsAsync 未找到 OCR 表单标签工具模型 ID
- python - Python将元组的一部分转换为字符串
- css - 使用 VS2019 Blazor App 和 ASP.NET Core Web 应用程序模板创建的菜单导航栏的定位
- javascript - 你如何在 React Native 中传递对象?
- javascript - 如何获取标签内的单选按钮,该标签位于 div 内?
- django - Django rest 框架 simple-jwt 错误“详细信息”:“没有找到具有给定凭据的活动帐户”