Creates a slider with two elements: a knob and a container.
Note:
- Slider requires the page to be in Standards Mode.
Syntax:
var mySlider = new Slider(element, knob[, options]);
Arguments:
- element - (element) The knob element for the slider.
- knob - (element) The handle element for the slider.
- options - (object) An optional object for customizing the Slider.
Options:
- snap - (boolean: defaults to false) True if you want the knob to snap to the nearest value.
- offset - (number: defaults to 0) Relative offset for knob position at start.
- range - (mixed: defaults to false) Array of numbers or false. The minimum and maximum limits values the slider will use.
- wheel - (boolean: defaults to false) True if you want the ability to move the knob by mousewheeling.
- steps - (number: defaults to 100) The number of steps the Slider should move/tick.
- mode - (string: defaults to horizontal) The type of Slider can be either 'horizontal' or 'vertical' in movement.
Notes:
- Range option allows an array of numbers. Numbers can be negative and positive.
- (function) Fires when the Slider's value changes.
Signature:
onChange(step)
Arguments:
- step - (number) The current step that the Slider is on.
- (function) Fire when you're done dragging.
Signature:
onComplete(step)
Arguments:
- step - (string) The current step that the Slider is on as a string.
- (function) Fires when the user drags the knob. This Event can be overriden to alter the tick behavior.
Signature:
onTick(pos)
Arguments:
- pos - (number) The current position that slider moved to.
Notes:
- Slider originally uses the 'tick' event to set the style of the knob to a new position.
Returns:
- (object) A new Slider instance.
Examples:
var mySlider = new Slider('myElement', 'myKnob', {
range: [-50, 50],
wheel: true,
snap: true,
onTick: function(pos){
this.element.setStyle('border-color', '#f00');
this.knob.setStyle(this.property, pos);
},
onComplete: function(){
this.element.tween('border').start('#000');
}
});
The slider will move to the passed position.
Syntax:
mySlider.set(step);
Arguments:
- step - (number) A number to position the Slider to.
Returns:
- (object) This Slider instance.
Examples:
var mySlider = new Slider('myElement', 'myKnob');
mySlider.set(0);
var myPeriodical = (function(){
if (this.step == this.options.steps) $clear(myPeriodical);
this.set(this.step++);
}).periodical(1000, mySlider);
Notes:
- Step will automatically be limited between 0 and the optional steps value.
Attaches the mouse listeners to the Slider making the Slider draggable
Syntax:
mySlider.attach();
Returns:
- (object) This Slider instance.
Examples:
var mySlider = new Slider('myElement', 'myKnob');
mySlider.detach();
myElement.addEvent('click', function(){
mySlider.attach();
alert('Slider enabled!');
});
Notes:
- You only need to use this method when you manually detached the mouse listeners before.
See Also:
- Slider:detach, [Element:addEvent][]
Detaches the mouse listeners from the Slider so its value can't be changed any longer
Syntax:
mySlider.detach();
Returns:
- (object) This Slider instance.
Examples:
var mySlider = new Slider('myElement', 'myKnob');
myElement.addEvent('click', function(){
mySlider.detach();
alert('Slider disabled!');
});
See Also:
- Slider:attach, [Element:removeEvent][]