in ArticleTemplates/assets/js/modules/mobile-range-slider.js [64:109]
function MobileRangeSlider(element, options) {
this.element = element;
this.options = {};
options = options || {};
var property;
for (property in this.defaultOptions){
if (options[property] !== undefined){
// set options passed to constructor
this.options[property] = options[property];
} else {
// set default options
this.options[property] = this.defaultOptions[property];
}
}
// detect support for Webkit CSS 3d transforms
this.supportsWebkit3dTransform = (
'WebKitCSSMatrix' in window &&
'm11' in new WebKitCSSMatrix()
);
// store references to DOM elements
if (typeof element === 'string'){
this.element = document.getElementById(element);
}
this.knob = this.element.getElementsByClassName('knob')[0];
this.track = this.element.getElementsByClassName('track')[0];
// set context for event handlers
this.start = this.start.bind(this);
this.move = this.move.bind(this);
this.end = this.end.bind(this);
// set the inital value
this.addEvents("start");
this.setValue(this.options.value);
// update postion on page resize
window.addEventListener("resize", this.update.bind(this));
}