Question

I've had some luck controlling processing.js sketches using html form elements and would like to use a jQuery slider to do the same.

<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>

I think my main problem is that I don't entirely understand the slider function, how to refer to its value inside the sketch, or how to refer the window.processing.Data={}; variable inside the slider.

Any and all help is appreciated.

Was it helpful?

Solution

I've never used Jquery-ui's slider before so I'm not sure if your using it correctly. But you can easily communicate between the processing code and the javascript code by placing a variable on the window object:

1) window.communicate = {}

2) store variables on that object : window.communicate.myVar

3) alter the variables in javascript:

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

4) read the variables in processing

I created a a demo for you on jsfiddle: http://jsfiddle.net/Zevan/Rms2N/2/

UPDATE

So in your slide function you can set a variable on your communicate object:

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

Then you can use "window.communicate.value" anywhere in your processing.js code.

OTHER TIPS

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top