javascript - 如何向 HTML 页面公开 Processing.js 函数?

标签 javascript api import processing

我有一个 redraw() 函数,它旨在停止当前的 draw() 循环,从 DOM 中检索新的初始化值,并恢复绘图,就好像这些值是最初的值一样。

但是onchange中的“redraw()”是看不到Processing.js的redraw()函数的,所以改变输入域的值是没有效果的。如果“redraw()”更改为“alert('changed!')”,弹出窗口显示“changed!”,所以我们知道问题不是 onchange,而是无法从Processing.js 文件。

wolfram-automata.html

<p>Rule: <input onchange="redraw()" id="rule" value="110" size="4" /></p>
<canvas id="sketch" data-processing-sources="wolfram-automata.pjs"></canvas>
<script src="processing-1.1.0.min.js"></script>

wolfram-自动机.pjs

processing.setup = function () {
    size(bounds, steps);
    background(white);

    rule = parseInt(document.getElementById("rule").value, 10);

    currentState = initState(bounds);
    rule = bits(rule);
}

processing.draw = function () {
    drawState(currentState, currentStep);
    currentState = step(currentState, rule);
    currentStep++;

    if (currentStep >= steps) { noLoop(); }
}

function redraw() {
    println("Redrawing");

    noLoop();

    currentState = [];
    currentStep;

    processing.setup();

    loop();
}

最佳答案

这可能是一个范围界定问题。尝试在窗口上显式设置重绘。

代替:

function redraw() { ...

尝试:

window.redraw = function() { ...

关于javascript - 如何向 HTML 页面公开 Processing.js 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329266/

相关文章:

python - Py.test 掩码缺少导入

javascript - 在 javascript 中匹配 @(\w+) 并替换

javascript - 多个 Assets 向同一文件名 index.html 发出不同的内容

javascript - React Redux 无法传递功能组件的 props

python - 如何更新 Azure 设备孪生所需和报告的属性

grails - Grails JFreeChart无法解析类:org.jfree.chart.ChartFactory

javascript - 改变 map 上的颜色 D3

android - 在 Retrofit 2 中传递 API key - Android Studio

javascript - 如何将变量从服务器js文件传递到另一个文件

python - 无法导入qiskit,numpy : "' numpy. random'中的属性错误没有属性 'default_rng'“