Slider

Element

A slider can be used to choose values from a given range of numbers.

Usage (signatures)
board.create('slider', [start, end, range]);

The first two arrays give the start and the end positions of the slider line on the board. The third array gives range of the slider: the first resp. the third component of the array are the start and the end of the range. The second component of the array determines the initial value of the slider.

Parameters
Name Type Description
start Array

[x, y]

end Array

[x, y]

range Array

[start, initial, end]

Examples

Slider with values between 1 and 10, initial position is 5

var s = board.create('slider', [[1, 2], [3, 2], [1, 5, 10]]);

Slider taking integer values between 1 and 5. Initial value is 3

var s = board.create('slider', [[1, 3], [3, 1], [0, 3, 5]], {
    snapWidth: 1,
    minTicksDistance: 60,
    drawLabels: false
});

Draggable slider

    var s1 = board.create('slider', [[-3, 1], [2, 1],[-10, 1, 10]], {
        visible: true,
        snapWidth: 2,
        point1: {fixed: false},
        point2: {fixed: false},
        baseline: {fixed: false, needsRegularUpdate: true}
    });

Set the slider value by clicking on the base line: attribute 'moveOnUp'

    var s1 = board.create('slider', [[-3,1], [2,1],[-10,1,10]], {
        snapWidth: 2,
        moveOnUp: true // default value
    });

Set colors

var sl = board.create('slider', [[-3, 1], [1, 1], [-10, 1, 10]], {

  baseline: { strokeColor: 'blue'},
  highline: { strokeColor: 'red'},
  fillColor: 'yellow',
  label: {fontSize: 24, strokeColor: 'orange'},
  name: 'xyz', // Not shown, if suffixLabel is set
  suffixLabel: 'x = ',
  postLabel: ' u'

});

Create a "frozen" slider

var sli = board.create('slider', [[-4, 4], [-1.5, 4], [-10, 1, 10]], {
    name:'a',
    frozen: true
});

Use MathJax for slider label (don't forget to load MathJax)

var s = board.create('slider', [[-3, 2], [2, 2], [-10, 1, 10]], {
    name: 'A^{(2)}',
    suffixLabel: '\\(A^{(2)} = ',
    unitLabel: ' \\;km/h ',
    postLabel: '\\)',
    label: {useMathJax: true}
});

Attributes

Own

baseline

Description

Attributes for the base line of the slider.

Type
Line
Source
options.js, line 9269

digits

Description

The number of digits of the slider value displayed in the optional text.

Type
Number
Default Value
2
Source
options.js, line 9088

highline

Description

Attributes for the highlighting line of the slider.

Type
Line
Source
options.js, line 9325

intl

Description

Internationalization support for slider labels.

Type
object
Default Value
{
   enabled: 'inherit',
   options: {}
}
See
Example
var s = board.create('slider', [[-2, 3], [2, 3], [0, 1, 360]], {
    name: 'α',
    snapWidth: 1,
    intl: {
        enabled: true,
        options: {
            style: 'unit',
            unit: 'degree',
        }
    }
});

Source
options.js, line 9099

label

Description

Attributes for the slider label.

Type
Label
Source
options.js, line 9343

moveOnUp

Description

If true, 'up' events on the baseline will trigger slider moves.

Type
Boolean
Default Value
true
Source
options.js, line 9356

point1

Description

Attributes for first (left) helper point defining the slider position.

Type
Point
Source
options.js, line 9235

point2

Description

Attributes for second (right) helper point defining the slider position.

Type
Point
Source
options.js, line 9252

postLabel

Description

If not null, this is appended to the value and to unitLabel in the slider label. Possible types: string, number or function.

Type
String
Default Value
null
See
Source
options.js, line 9202

precision

Description

The precision of the slider value displayed in the optional text. Replaced by the attribute "digits".

Type
Number
Deprecated
Yes
Default Value
2
See
Source
options.js, line 9074

size

Description

Size of slider point.

Type
Number
Default Value
6
See
Source
options.js, line 9224

snapValueDistance

Description

If the difference between the slider value and one of the elements of snapValues is less than this number (in user coordinate units), the slider will snap to that value.

Type
Number
Default Value
0.0
See
Source
options.js, line 9061

snapValues

Description

List of values to snap to. If the glider is within snapValueDistance (in user coordinate units) of one of these points, then the glider snaps to that point.

Type
Array
Default Value
empty
See
Example
var n = board.create('slider', [[-2, 3], [4, 3], [1, 5, 100]], {
     name: 'n',
     snapWidth: 1,
     snapValues: [1, 22, 77, 100],
     snapValueDistance: 5
 });

 var k = board.create('slider', [[-2, -1], [4, -1], [-4, 0, 4]], {
     name: 'k',
     snapWidth: 0.1,
     snapValues: [-3, -1, 1, 3],
     snapValueDistance: 0.4
 });

Source
options.js, line 9008

snapWidth

Description

The slider only returns integer multiples of this value, e.g. for discrete values set this property to 1. For continuous results set this to -1.

Type
Number
Source
options.js, line 8997

suffixLabel

Description

If not null, this replaces the part "name = " in the slider label. Possible types: string, number or function.

Type
String
Default Value
null
See
Source
options.js, line 9176

ticks

Description

Attributes for the ticks of the base line of the slider.

Type
Ticks
Source
options.js, line 9289

unitLabel

Description

If not null, this is appended to the value in the slider label. Possible types: string, number or function.

Type
String
Default Value
null
See
Source
options.js, line 9189

withLabel

Description

Show slider label.

Type
Boolean
Default Value
true
Source
options.js, line 9166

withTicks

Description

Show slider ticks.

Type
Boolean
Default Value
true
Source
options.js, line 9156

Inherited

none

Members

Own

_smax : Number

Description

End value of the slider range.

Type
Number
Source
element/slider.js, line 299

_smin : Number

Description

Start value of the slider range.

Type
Number
Source
element/slider.js, line 307

baseline : JXG.Line

Description

The baseline the glider is bound to.

Type
JXG.Line
Source
element/slider.js, line 442

highline : JXG.Line

Description

A line on top of the baseline, indicating the slider's progress.

Type
JXG.Line
Source
element/slider.js, line 450

label : JXG.Text

Description

The text element to the right of the slider, indicating its current value.

Type
JXG.Text
Source
element/slider.js, line 410

point1 : JXG.Point

Description

Start point of the base line.

Type
JXG.Point
Source
element/slider.js, line 426

point2 : JXG.Point

Description

End point of the base line.

Type
JXG.Point
Source
element/slider.js, line 434

ticks : JXG.Ticks

Description

Ticks give a rough indication about the slider's current value.

Type
JXG.Ticks
Source
element/slider.js, line 500

Inherited

none

Methods

Own

Value() → {Number}

Returns the current slider value.

Returns

Type
Number

Details

Source
element/slider.js, line 283

setMax(val) → {Object}

Sets the maximum value of the slider.

Parameters

Name Type Description
val Number

New maximum value

Returns

this object

Type
Object

Details

Source
element/slider.js, line 315

setMin(val) → {Object}

Sets the minimum value of the slider.

Parameters

Name Type Description
val Number

New minimum value

Returns

this object

Type
Object

Details

Source
element/slider.js, line 349

setValue(val) → {Object}

Sets the value of the slider. This call must be followed by a board update call.

Parameters

Name Type Description
val Number

New value

Returns

this object

Type
Object

Details

Source
element/slider.js, line 328

Inherited

none

Throws

If the element cannot be constructed with the given parent objects an exception is thrown.

Type
Exception

Details

Type
JXG.Point
Source
element/slider.js, line 48