我使用HTML表单元素来控制Processing.js草图,我想使用jQuery slider做同样的操作。

<script>
$(function() {
    $( "#slider-range-min" ).slider({
        range: "min",
        value: 37,
        min: 1,
        max: 700,
        slide: function( event, ui ) {
            $( "#amount" ).val( "$" + ui.value );
        }
    });
    $( "#amount" ).val( "$" + $( "#slider-range-min" ).slider( "value" ) );
});
</script>

<p>
<label for="amount">Maximum price:</label>
<input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;"/>
</p>

<div id="slider-range-min"></div>

我认为我的主要问题是,我不完全理解滑块函数,如何在草图中引用其值,或者如何引用window.processing.data = {};滑块内的变量。

所有的帮助都将受到赞赏。

有帮助吗?

解决方案

我以前从未使用过jQuery-UI的滑块,因此我不确定您是否正确使用它。但是,您可以通过在窗口对象上放置一个变量来轻松在处理代码和JavaScript代码之间进行通信:

1)window.communate = {}

2)将变量存储在该对象上:window.communicate.myvar

3)更改JavaScript中的变量:

// inside jquery-ui callback
window.communicate.myVar = ui.value;

4)阅读处理中的变量

我在JSFiddle上为您创建了AA演示: http://jsfiddle.net/zevan/rms2n/2/

更新

因此,在您的幻灯片功能中,您可以在通信对象上设置一个变量:

slide: function( event, ui ) {
    $( "#amount" ).val( "$" + ui.value );
    window.communicate.value = ui.value;
}

然后,您可以在processing.js代码中的任何地方使用“ window.communicate.value”。

其他提示

如果有帮助,这是一个工作的演示:

http://matrix.senecac.on.ca/~asalga/fsoss2010/jqueryui/jquery-test.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top