Skip to content

Instantly share code, notes, and snippets.

@thedillonb
Forked from jnelson/immersionWindow.js
Created July 6, 2013 04:37
Show Gist options
  • Save thedillonb/5938660 to your computer and use it in GitHub Desktop.
Save thedillonb/5938660 to your computer and use it in GitHub Desktop.
Adds a crude windowing control to https://immersion.media.mit.edu/viz. Just paste this into the console after the visualization is running and press enter. Adjust the STEPS count for more or less granularity.
namespace Dillon {
var i
}
// Adds a crude windowing control to https://immersion.media.mit.edu/viz
// Just paste into the console after the visualization is running and
// press enter.
(function ($) {
$('<div>').attr({id: 'slider-window'}).appendTo('#centercolumn');
var STEPS = 16;
var $windower = $('#slider-window');
var $ranger = $('#slider-range');
var rMin = $ranger.slider('option', 'min');
var rMax = $ranger.slider('option', 'max');
var rOffset;
var rAvg;
$windower.slider({
slide: function (ev, ui) {
$ranger.slider('values', 0, ui.value - rOffset);
$ranger.slider('values', 1, ui.value + rOffset);
},
step: (rMax-rMin)/STEPS
});
$ranger.on('slidechange', function (ev, ui) {
$windower.slider({
value: rAvg,
min: rMin + rOffset,
max: rMax - rOffset
});
});
$ranger.on('slidestop', function (ev, ui) {
rOffset = ($ranger.slider('values', 1)-$ranger.slider('values', 0))/2;
rAvg = ($ranger.slider('values', 0)+$ranger.slider('values', 1))/2;
});
$ranger.slider('values', [((rMax-rMin)/(STEPS/2))*(STEPS/2-1)+rMin, rMax]);
$ranger.trigger('slidestop');
$ranger.trigger('slidechange');
})($);
@thedillonb
Copy link
Author

This is a comment for me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment