new ScrollBar(client, oOptionsopt)
Every option of the ScrollBar.Options type has associated a property of the control. For instance, the option:
cursors {string}, specifies the mouse cursor to be displayed when pointing over a part of the controlis associated with the property:
Cursors {string}, specifies the mouse cursor to be displayed when pointing over a part of the controlwhich means that the following statements are equivalent:
oSB.Options = {cursors: "crosshair(lo,up,b),pointer(t)"}where oSB is an object of ScrollBar type
oSB.SetOptions({cursors: "crosshair(lo,up,b),pointer(t)"})
oSB.Cursors = "crosshair(lo,up,b),pointer(t)"
oSB.SetCursors("crosshair(lo,up,b),pointer(t)")
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
client |
any | The client parameter indicates the control's client area as:
|
|
oOptions |
object |
<optional> |
An object of ScrollBar.Options type that defines different options to display the control. |
Requires:
- module:exontrol.commmon.min.js
Requires
- module:exontrol.commmon.min.js
Classes
Members
(static, readonly) ActionEnum :number
Each ActionEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing the name that matches the enumeration constant.
For instance, the string "pagedown" is equivalent to the numeric value 3, or to the enumeration constant exPageDown.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exLineUp |
0 |
number | Scrolls one line up |
exLineLeft |
0 |
number | Scrolls one line left |
exLineDown |
1 |
number | Scrolls one line down |
exLineRight |
1 |
number | Scrolls one line right |
exPageUp |
2 |
number | Scrolls one page up |
exPageLeft |
2 |
number | Scrolls one page left |
exPageDown |
3 |
number | Scrolls one page down |
exPageRight |
3 |
number | Scrolls one page right |
exThumbPos |
4 |
number | The user has dragged the scroll box (thumb) and released the mouse button |
exThumbTrack |
5 |
number | The user is dragging the scroll box |
exScrollTop |
6 |
number | Scrolls to the upper top |
exScrollLeft |
6 |
number | Scrolls to the upper left |
exScrollHome |
6 |
number | Scrolls to the min value |
exScrollBottom |
7 |
number | Scrolls to the lower bottom |
exScrollRight |
7 |
number | Scrolls to the lower right |
exScrollEnd |
7 |
number | Scrolls to the max value |
(static, readonly) DisableNoScrollEnum :number
Each DisableNoScrollEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing the name that matches the enumeration constant.
For instance, the string "disable" is equivalent to the numeric value 1, or to the enumeration constant exDisableNoScroll.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exHideNoScroll |
0 |
number | Specifies that the scroll bar is hidden if no scroll is possible (while it is hosted by an exontrol.W) |
exDisableNoScroll |
1 |
number | Specifies that the scroll bar's buttons are disabled when no scroll is possible. |
exShowNoScroll |
2 |
number | Specifies that the scroll bar is visible even no scroll is possible (while it is hosted by an exontrol.W) |
(static, readonly) ModeEnum :number
Each ModeEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing the name that matches the enumeration constant.
For instance, the string "horizontal" is equivalent to the numeric value 1, or to the enumeration constant exHorizontal.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exAuto |
-1 |
number | The exAuto mode indicates that the size of the scroll bar determines what mode is displayed as: if the scroll bar's width is greater than its height, then a horizontal scroll is displayed, else a vertical scroll bar is shown |
exVertical |
0 |
number | The exVertical mode indicates that the control displays a vertical scroll bar. |
exHorizontal |
1 |
number | The exHorizontal mode indicates that the control displays a horizontal scroll bar. |
(static, readonly) PartEnum :number
Each PartEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A combination of one or more compatible enumeration constants, separated by the | operator.
- A case-insensitive partial string containing one or more comma-separated names that match the enumeration constants.
For instance, the string "thumb,upper,lower" is equivalent to the numeric value 896, or to the combination of enumeration constants exThumbPart | exUpperBackPart | exLowerBackPart.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exLeftB1Part |
32768 |
number | Identifies the first aditional scrollbar's (left or up) button |
exLeftB2Part |
16384 |
number | Identifies the second aditional scrollbar's (left or up) button |
exLeftB3Part |
8192 |
number | Identifies the third aditional scrollbar's (left or up) button |
exLeftB4Part |
4096 |
number | Identifies the forth aditional scrollbar's (left or up) button |
exLeftB5Part |
2048 |
number | Identifies the fifth aditional scrollbar's (left or up) button |
exLeftBPart |
1024 |
number | Identifies the scrollbar's (left or up) button |
exLowerBackPart |
512 |
number | Identifies the part between the left/up button and the thumb part of the control |
exThumbPart |
256 |
number | Identifies the thumb part of the control |
exUpperBackPart |
128 |
number | Identifies the part between the thumb and the right/down button of the control |
exBackgroundPart |
640 |
number | Specifies the lower (exLowerBackPart) and upper (exUpperBackPart) parts of the control |
exRightBPart |
64 |
number | Identifies the scrollbar's (right or down) button |
exRightB1Part |
32 |
number | Identifies the first aditional scrollbar's (right or down) button |
exRightB2Part |
16 |
number | Identifies the second aditional scrollbar's (right or down) button |
exRightB3Part |
8 |
number | Identifies the third aditional scrollbar's (right or down) button |
exRightB4Part |
4 |
number | Identifies the forth aditional scrollbar's (right or down) button |
exRightB5Part |
2 |
number | Identifies the fifth aditional scrollbar's (right or down) button |
exRightB6Part |
1 |
number | Identifies the sixth aditional scrollbar's (right or down) button |
exPartNone |
0 |
number | Identifies an unknown part of the control |
(static, readonly) type :string
Type:
- string
- Since:
- 1.8
Example
console.log(exontrol.ScrollBar.type); // logs "ScrollBar"
(static, readonly) version :string
Type:
- string
Example
console.log(exontrol.ScrollBar.version); // displays the version of the control, for instance "5.2"
AdjustThumbPos :boolean
Type:
- boolean
Example
false {boolean}, no adjustment for the thumb's position is performed while user drags it. Once the drag ends, the thumb is positioned at scroll's newly value.
true {boolean}, thumb's position is automatically adjusted at exactly scroll's value, while user drags it
AdjustThumbPos
AllowKeys :boolean
Type:
- boolean
Example
null {null}, uses the default allowKeys value. By default, the allowKeys is false, which indicates that no keys support
false {boolean}, no keys support for the scroll bar
true {boolean}, the scroll's value can be changed using keys such as: "ArrowLeft-ArrowUp", "ArrowRight-ArrowDown", "PageUp", "PageDown", "Home" and "End". The owner canvas element must include the "tabindex" attribute, else the scroll bar receives no key events at all. The tabindex global attribute indicates if its element can be focused, and if/where it participates in sequential keyboard navigation (usually with the Tab key, hence the name).
AllowKeys
AllowScrollDirect :number
The AllowScrollDirect property can be any of the following values:
- 0, no button
- 1, primary button (usually left)
- 2, secondary button (usually right)
- 4, auxilary button (usually middle or mouse wheel button)
- 8, 4th button (typically the "Browser Back" button)
- 16, 5th button (typically the "Browser Forward" button)
Type:
- number
Example
null {null}, indicates that AllowScrollDirect property defines the AllowScrollDirect property. By default, the allowScrollDirect is: 2 (right mouse button)
0 {number}, disables the allowScrollDirect feature
4 {number}, indicates that the scroll jumps to value directly once the user clicks the middle-button of the mouse
AllowScrollDirect
ButtonSize :number
Type:
- number
Example
null {null}, uses the default ButtonSize value. By default, the buttonSize is 16.
0 {number}, the scroll displays no buttons
18 {number}, defines the scroll's buttons to 18-pixels
ButtonSize
Cursors :string
The format of the property is:
"cursor(part),cursor(part),..."where:
- "cursor", defines the CSS mouse cursor to display while cursor hovers the part
- "part", defines the name of the part the cursor is applied on (as defined bellow)
The "part" can be any of the following:
Cursor Description "alias" indicates a shortcut or alias will be created "all-scroll" indicates scrolling in any direction "auto" lets the browser decide the cursor based on context "cell" indicates a table cell "col-resize" indicates a column can be resized horizontally "context-menu" indicates a context menu is available "copy" indicates something will be copied "crosshair" a precise crosshair cursor "default" the default arrow cursor "e-resize" resize east (right edge) "ew-resize" resize horizontally "grab" indicates an item can be grabbed "grabbing" indicates an item is being grabbed "help" indicates help information is available "move" indicates something can be moved "n-resize" resize north (top edge) "ne-resize" resize northeast (top-right corner) "nesw-resize" resize along the northeast–southwest axis "no-drop" indicates dropping is not permitted "not-allowed" indicates the action is not allowed "ns-resize" resize vertically "nw-resize" resize northwest (top-left corner) "nwse-resize" resize along the northwest–southeast axis "pointer" the pointer cursor (a hand with a pointing finger) "progress" indicates background processing "row-resize" indicates a row can be resized vertically "s-resize" resize south (bottom edge) "se-resize" resize southeast (bottom-right corner) "sw-resize" resize southwest (bottom-left corner) "text" the text selection cursor (I-beam) "url(...)" uses a custom cursor image (with optional fallback) "vertical-text" the vertical text selection cursor "w-resize" resize west (left edge) "wait" indicates the program is busy "zoom-in" indicates zooming in "zoom-out" indicates zooming out
Part Description "b" (exBackgroundPart) specifies the control's background part (union between the exLowerBackPart("lo") and the exUpperBackPart("up") parts) "l" (exLeftBPart, <) indicates the left or top button of the scroll bar "l1" (exLeftB1Part) indicates the first additional button, in the left or top area "l2" (exLeftB2Part) indicates the second additional button, in the left or top area "l3" (exLeftB3Part) indicates the third additional button, in the left or top area "l4" (exLeftB4Part) indicates the forth additional button, in the left or top area "l5" (exLeftB5Part) indicates the fifth additional button, in the left or top area "lo" (exLowerBackPart) specifies the control's lower-background part (area between the left/top button and the thumb) "r" (exRightBPart, >) indicates the right or down button "r1" (exRightB1Part) indicates the first additional button in the right or down side "r2" (exRightB2Part) indicates the second additional button in the right or down side "r3" (exRightB3Part) indicates the third additional button in the right or down side "r4" (exRightB4Part) indicates the forth additional button in the right or down side "r5" (exRightB5Part) indicates the fifth additional button in the right or down side "r6" (exRightB6Part) indicates sixth additional button in the right or down side "t" (thumb) indicates the scroll's thumb "up" (exUpperBackPart) specifies the control's upper-background part (area between the thumb and the right/bottom button)
Type:
- string
Example
null {null}, uses the default cursors value. By default, the cursors is "auto(l1,l2,l3,l4,l5,l,lo,t,up,r,r1,r2,r3,r4,r5,r6)", or the "auto" mouse cursor is displayed for any part of the control
"crosshair(lo,up,b),pointer(t)" {string}, indicates that the "crosshair" mouse cursor is shown once the cursor hovers the control "upper", "lower" or "background" part, and "pointer" mouse cursor while cursor hovers the "thumb" part
Cursors
DisableNoScroll :ScrollBar.DisableNoScrollEnum
The ScrollBar.DisableNoScrollEnum type supports the following values:
- exHideNoScroll (0), specifies that the scroll bar is hidden if no scroll is possible (while it is hosted by an exontrol.W)
- exDisableNoScroll (1), specifies that the scroll bar's buttons are disabled when no scroll is possible.
- exShowNoScroll (2), specifies that the scroll bar is visible even no scroll is possible
Type:
Example
null {null}, uses the default DisableNoScroll value. By default, the disableNoScroll is ScrollBar.DisableNoScrollEnum.exDisableNoScroll
2 or ScrollBar.DisableNoScrollEnum.exShowNoScroll {number}, specifies that the scroll bar is visible even no scroll is possible
DisableNoScroll
EnableParts :string
The parts of the control are:
Any other literal between commas is ignored. If duplicate literals are found, the second is ignored, and so on.
Part Description "l" Left or top button of the scroll bar "l1" First additional button in the left or top area "l2" Second additional button in the left or top area "l3" Third additional button in the left or top area "l4" Fourth additional button in the left or top area "l5" Fifth additional button in the left or top area "t" Scroll bar thumb "r" Right or down button of the scroll bar "r1" First additional button in the right or down area "r2" Second additional button in the right or down area "r3" Third additional button in the right or down area "r4" Fourth additional button in the right or down area "r5" Fifth additional button in the right or down area "r6" Sixth additional button in the right or down area "lo" Lower background (between left/top button and thumb) "up" Upper background (between thumb and right/bottom button) "b" Background (union of lower and upper background parts)
Type:
- string
Example
null {null}, uses the default EnableParts value. By default, the EnableParts is "l,t,r,b", which indicates that only "left-button", "thumb", "right-button" and "background" parts are enabled
"l,t,r" {string}, indicates that only "left-button", "thumb" and "right-button" parts are enabled. In other words, the "background" part is disabled which indicates the no page up or page down is available once the user clicks the upper or lower-background of the scroll
EnableParts
HorizontalOverlayShapes :string
The format of the property is:
"shape(part),shape(part),..."where:
- "shape", defines the shape to apply on the UI part as one of the following:
◦ any of 140 color names any browser supports (such as red, blue, green, ...)
◦ hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF (such as #0000ff which defines a blue background)
◦ hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF (such as #0000ff80 which defines a semi-transparent blue background)
◦ RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255( such as rgb(0,0,255) that defines a blue background)
◦ RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) ( such as rgba(0,0,255,0.5) which defines a semi-transparent blue background)
◦ HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors (such as hsl(240, 100%, 50%) that defines a blue background)
◦ HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) (such as hsla(240, 100%, 50%,0.5) that defines a semi-transparent blue background)
◦ a JSON representation of the shape object to apply (while it starts with { character, such as '{"normal": {"primitive": "RoundRect","fillColor":"black","tfi": {"fgColor": "white"}}}')
◦ specifies the name of the field within the exontrol.Shapes object (while it starts with an uppercase letter, such as Button which refers to exontrol.Shapes.Button shape)
◦ defines the name of the property of exontrol.Shapes.ScrollBar.overlay object to be applied on the part, such as "left", "right", "leftLite", "rightLite", etc. - "part", defines the name of the part the shape is applied on (as defined bellow)
Part Description "l" Left or top button of the scroll bar "l1" First additional button in the left or top area "l2" Second additional button in the left or top area "l3" Third additional button in the left or top area "l4" Fourth additional button in the left or top area "l5" Fifth additional button in the left or top area "t" Scroll bar thumb "r" Right or down button of the scroll bar "r1" First additional button in the right or down area "r2" Second additional button in the right or down area "r3" Third additional button in the right or down area "r4" Fourth additional button in the right or down area "r5" Fifth additional button in the right or down area "r6" Sixth additional button in the right or down area "lo" Lower background (between left/top button and thumb) "up" Upper background (between thumb and right/bottom button) "b" Background (union of lower and upper background parts)
Type:
- string
Example
null {null}, uses the default HorizontalOverlayShapes value. By default, the HorizontalOverlayShapes is "leftLite(l),rightLite(r)".
"left(l)" {string}, indicates that "l" (left-button) applies the overlay shape defined by exontrol.Shapes.ScrollBar.overlay.left
"left(l),right(r)" {string}, defines arrows for scroll-rectangular or scroll-circle
HorizontalOverlayShapes
HorizontalShapes :string
The format of the property is:
"shape(part),shape(part),..."where:
- "shape", defines the shape to apply on the UI part as one of the following:
◦ any of 140 color names any browser supports (such as red, blue, green, ...)
◦ hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF (such as #0000ff which defines a blue background)
◦ hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF (such as #0000ff80 which defines a semi-transparent blue background)
◦ RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255( such as rgb(0,0,255) that defines a blue background)
◦ RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) ( such as rgba(0,0,255,0.5) which defines a semi-transparent blue background)
◦ HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors (such as hsl(240, 100%, 50%) that defines a blue background)
◦ HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) (such as hsla(240, 100%, 50%,0.5) that defines a semi-transparent blue background)
◦ a JSON representation of the shape object to apply (while it starts with { character, such as '{"normal": {"primitive": "RoundRect","fillColor":"black","tfi": {"fgColor": "white"}}}')
◦ defines the name of the property of exontrol.Shapes.ScrollBar.background/exontrol.Shapes.ScrollBar.foreground object to be applied on the part, such as "button", "hThumbLite", "hBackCircle", etc. - "part", defines the name of the part the shape is applied on (as defined bellow)
Part Description "l" Left or top button of the scroll bar "l1" First additional button in the left or top area "l2" Second additional button in the left or top area "l3" Third additional button in the left or top area "l4" Fourth additional button in the left or top area "l5" Fifth additional button in the left or top area "t" Scroll bar thumb "r" Right or down button of the scroll bar "r1" First additional button in the right or down area "r2" Second additional button in the right or down area "r3" Third additional button in the right or down area "r4" Fourth additional button in the right or down area "r5" Fifth additional button in the right or down area "r6" Sixth additional button in the right or down area "lo" Lower background (between left/top button and thumb) "up" Upper background (between thumb and right/bottom button) "b" Background (union of lower and upper background parts)
Type:
- string
Example
null {null}, uses the default HorizontalShapes value. By default, the horizontalShapes is "hThumbLite(t)".
"hThumbLite(t)" {string}, defines a lite-scroll, or shotly it applies the exontrol.Shapes.ScrollBar.background.hThumbLite and exontrol.Shapes.ScrollBar.foreground.hThumbLite on "thumb" part
"button(l1,l2,l3,l4,l5,l,r,r1,r2,r3,r4,r5,r6),hThumb(t),back(lo,b,up)" {string}, defines a rectangular-scroll
"buttonCircle(l1,l2,l3,l4,l5,l,r,r1,r2,r3,r4,r5,r6),hThumbCircle(t),hBackCircle(b)" {string}, defines a circular-scroll
"button(l1,l2,l3,l4,l5,l,r,r1,r2,r3,r4,r5,r6)" {string} indicates that all l1-r6 applies the exontrol.Shapes.ScrollBar.background.button and exontrol.Shapes.ScrollBar.foreground.button shapes.
HorizontalShapes
IgnoreLargeChange :boolean
Type:
- boolean
Example
null {null}, uses the default IgnoreLargeChange value. By default, the ignoreLargeChange is false.
false {boolean}, specifies that the scroll's value goes from min to max
true {boolean}, specifies that the scroll's value goes from min to (max - page)
IgnoreLargeChange
LargeChange :number
Type:
- number
Example
null {null}, uses the default LargeChange property. By default, the LargeChange is 10.
0 {number}, no change once the user clicks the scroll's background or presses the PAGE UP or PAGE DOWN keys.
10 {number}, increases or decreases the scroll's value by 10 when the user clicks the scroll's background or presses the PAGE UP or PAGE DOWN keys.
LargeChange
Listeners :exontrol.Lts
Type:
- exontrol.Lts
Example
The following sample shows how you can get all events the component currently supports:
oScrollBar.Listeners.forEach(function(name)
{
console.log(name);
});
The following sample displays scroll-bar's value as soon as it changes:
oScrollBar.Listeners.Add("onchange", function (oEvent)
{
console.log(oEvent);
});
where oScrollBar is an object of ScrollBar type
Listeners
Locked :boolean
Type:
- boolean
Example
false {boolean}, unlocks the control
true {boolean}, locks the control (the user can not click or drag any part of the control)
Locked
Max :number
Type:
- number
Example
100 {number}, indicates that the scroll's value is always less than 100
Max
Min :number
Type:
- number
Example
0 {number}, indicates that the scroll's value is always greater than 0
Min
Mode :ScrollBar.ModeEnum
The ScrollBar.ModeEnum type supports the following values:
- exAuto (-1), indicates that the size of the scroll bar determines what mode is displayed as: if the scroll bar's width is greater than its height, then a horizontal scroll is displayed, else a vertical scroll bar is shown
- exVertical (0), indicates that the control displays a vertical scroll bar
- exHorizontal (1), indicates that the control displays a horizontal scroll bar
Type:
Example
-1 or ScrollBar.ModeEnum.exAuto {number}, specifies that the scroll bar shows as vertical or horizontal depending on its size
0 or ScrollBar.ModeEnum.exVertical {number}, always displays a vertical scroll bar
1 or ScrollBar.ModeEnum.exHorizontal {number}, always displays a horizontal scroll bar
Mode
Options :ScrollBar.Options
Type:
Example
{visibleParts: "t,b"} {object}, which indicates that only the thumb and background parts are visible
Options
OrderParts :string
The parts of the control are:
Any other literal between commas is ignored. If duplicate literals are found, the second is ignored, and so on.
Part Description "l" Left or top button of the scroll bar "l1" First additional button in the left or top area "l2" Second additional button in the left or top area "l3" Third additional button in the left or top area "l4" Fourth additional button in the left or top area "l5" Fifth additional button in the left or top area "t" Scroll bar thumb "r" Right or down button of the scroll bar "r1" First additional button in the right or down area "r2" Second additional button in the right or down area "r3" Third additional button in the right or down area "r4" Fourth additional button in the right or down area "r5" Fifth additional button in the right or down area "r6" Sixth additional button in the right or down area "lo" Lower background (between left/top button and thumb) "up" Upper background (between thumb and right/bottom button) "b" Background (union of lower and upper background parts)
Type:
- string
Example
null {null}, uses the default OrderParts value. By default, the orderParts is "l1,l2,l3,l4,l5,l,t,r,r1,r2,r3,r4,r5,r6"
"t,l,r" {string}, indicates that the left/top and right/bottom buttons are displayed right/bottom after the thumb part
OrderParts
Pos :number
Value = Min + PosThe position ranges from 0 to (Max − Min). If the IgnoreLargeChange property is false, the maximum position becomes (Max − Min − LargeChange), ensuring the visible page does not exceed the defined range. This property provides a convenient way to work with the scroll bar's position in a more intuitive manner, especially when you want to manage the scroll bar's state based on its position rather than its absolute value. The "onchange" event occurs, once the scroll's position is changed.
Type:
- number
Example
25 {number}, changes the scroll's position to 25
Pos
ReadOnly :boolean
Type:
- boolean
- Since:
- 1.8
Example
false {boolean}, unlocks the control
true {boolean}, the user can't change the control's value by dragging the thumb
ReadOnly
ScrollOnThumbRelease :boolean
Type:
- boolean
- Since:
- 5.1
Example
false {boolean}, the scroll action will occur immediately as the user drags the thumb-box, providing a more responsive scrolling experience.
true {boolean}, the scroll action will only occur when the user releases the thumb-box after dragging it, allowing for more precise control over scrolling.
ScrollOnThumbRelease
SmallChange :number
Type:
- number
Example
null {null}, uses the default SmallChange property. By default, the smallChange is 1.
0 {number}, no change once the user clicks the left/top or right/bottom buttons
1 {number}, increases or decreases the scroll's value by 1 when the user clicks a scroll arrow or presses an arrow key
SmallChange
Tfi :string|object
The Tfi property as string supports any of the following keywords (each keyword can be specified using first letters only such as "b" for "bold) separated by space characters:
- bold, displays the text in bold (equivalent of <b> tag)
- italic, displays the text in italics (equivalent of <i> tag)
- underline, underlines the text (equivalent of <u> tag)
- strikeout, specifies whether the text is strike-through (equivalent of <s> tag)
- <fontName name>, specifies the font's family (equivalent of <font name> tag)
- <fontSize size>, specifies the size of the font (equivalent of <font ;size> tag)
- <fgColor CSSColor>, specifies the text's foreground color (equivalent of <fgcolor> tag)
- <bgColor CSSColor>, specifies the text's background color (equivalent of <bgcolor> tag)
- <shaColor CSSColor;width;offset>, defines the text's shadow (equivalent of <sha color;width;offset> tag)
- <outColor CSSColor>, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
- <graColor CSSColor;mode;blend>, defines a gradient text (equivalent of <gra color;mode;blend> tag)
Any other word within the Tfi property that's not recognized as a keyword is interpreted as:
- name of the font (not a number), specifies the font's family (equivalent of <font name> tag)
- size of the font (number), specifies the size of the font (equivalent of <font ;size> tag)
The Tfi property as object supports any of the following fields:
- bold {boolean}, displays the text in bold (equivalent of <b> tag)
- italic {boolean}, displays the text in italics (equivalent of <i> tag)
- underline {boolean}, underlines the text (equivalent of <u> tag)
- strikeout {boolean}, specifies whether the text is strike-through (equivalent of <s> tag)
- fontName {string}, specifies the font's family (equivalent of <font name> tag)
- fontSize {number}, specifies the size of the font (equivalent of <font ;size> tag)
- fgColor {string}, specifies the text's foreground color (CSScolor) (equivalent of <fgcolor> tag)
- bgColor {string}, specifies the text's background color (CSScolor) (equivalent of <bgcolor> tag)
- shaColor {object}, specifies an object of {color, width, offset} type that defines the text's shadow (equivalent of <sha color;width;offset> tag), where:
- color {string}, defines the color of the text's shadow (CSScolor)
- width {number}, defines the size of the text's shadow
- offset {number}, defines the offset to show the text's shadow relative to the text
- outColor {string}, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
- graColor {object}, specifies an object of {color, mode, blend} type that defines a gradient text (equivalent of <gra color;mode;blend> tag), where:
- color {string}, defines the gradient-color (CSScolor)
- mode {number}, defines the gradient direction as 0 (left-right), 1 (default, top-bottom), 2 (left-center-right), and 3 (top-center-bottom)
- blend {number}, defines the gradient blend as a value between 0 and 1
CSSColor or CSS legal color values can be specified by the following methods:
- Hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF. For example, #0000ff value is rendered as blue, because the blue component is set to its highest value (ff) and the others are set to 00.
- Hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF. For example, #0000ff80 defines a semi-transparent blue.
- RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255. For example, rgb(0,0,255) defines the blue color.
- RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, rgba(0,0,255,0.5) defines a semi-transparent blue.
- HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors. For example, hsl(240, 100%, 50%) defines the blue color.
- HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, hsla(240, 100%, 50%,0.5) defines a semi-transparent blue.
- Predefined/Cross-browser color names, 140 color names are predefined in the HTML and CSS color specification. For example, blue defines the blue color.
Type:
- string | object
Example
null {null}, the Tfi property is ignored
"bold monospace 16 <fg blue>" {string}, defines Monospace font of 16px height, bold and blue
{bold: true, fontName: "monospace", fontSize: 16, fgColor: "blue"} {object}, defines Monospace font of 16px height, bold and blue
Tfi
ThumbSize :number
Type:
- number
Example
null {null}, uses the default ThumbSize value. By default, the thumbSize is -1 (thumb's size automatically is computed based on scroll's margins (min, max and page))
-1 {number}, indicates that the thumb's size automatically is computed based on scroll's margins (min, max and page)
0 {number}, the scroll displays no thumb
128 {number}, defines the scroll's thumb to 128-pixels
ThumbSize
Value :number
The range of value is:
- between min and max, if the IgnoreLargeChange property is true
- between min and max - largeChange, if the IgnoreLargeChange property is false
The newly value is always adjusted so it fits its range. For example, if the max is 100, largeChange is 10 and ignoreLargeChange is false, the value can not be greater than 90. If you try to set the value to 95, it will be automatically adjusted to 90. If you try to set the value to -5, it will be automatically adjusted to 0 (if min is 0).
Type:
- number
Example
25 {number}, changes the scroll's value to 25. The "onchange" event occurs, once the scroll's value is changed.
Value
VerticalOverlayShapes :string
The format of the property is:
"shape(part),shape(part),..."where:
- "shape", defines the shape to apply on the UI part as one of the following:
◦ any of 140 color names any browser supports (such as red, blue, green, ...)
◦ hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF (such as #0000ff which defines a blue background)
◦ hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF (such as #0000ff80 which defines a semi-transparent blue background)
◦ RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255( such as rgb(0,0,255) that defines a blue background)
◦ RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) ( such as rgba(0,0,255,0.5) which defines a semi-transparent blue background)
◦ HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors (such as hsl(240, 100%, 50%) that defines a blue background)
◦ HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) (such as hsla(240, 100%, 50%,0.5) that defines a semi-transparent blue background)
◦ a JSON representation of the shape object to apply (while it starts with { character, such as '{"normal": {"primitive": "RoundRect","fillColor":"black","tfi": {"fgColor": "white"}}}')
◦ specifies the name of the field within the exontrol.Shapes object (while it starts with an uppercase letter, such as Button which refers to exontrol.Shapes.Button shape)
◦ defines the name of the property of exontrol.Shapes.ScrollBar.overlay object to be applied on the part, such as "left", "right", "leftLite", "rightLite", etc. - "part", defines the name of the part the shape is applied on (as defined bellow)
Part Description "l" Left or top button of the scroll bar "l1" First additional button in the left or top area "l2" Second additional button in the left or top area "l3" Third additional button in the left or top area "l4" Fourth additional button in the left or top area "l5" Fifth additional button in the left or top area "t" Scroll bar thumb "r" Right or down button of the scroll bar "r1" First additional button in the right or down area "r2" Second additional button in the right or down area "r3" Third additional button in the right or down area "r4" Fourth additional button in the right or down area "r5" Fifth additional button in the right or down area "r6" Sixth additional button in the right or down area "lo" Lower background (between left/top button and thumb) "up" Upper background (between thumb and right/bottom button) "b" Background (union of lower and upper background parts)
Type:
- string
Example
null {null}, uses the default VerticalOverlayShapes value. By default, the VerticalOverlayShapes is "upLite(l),downLite(r)".
"up(l)" {string}, indicates that l applies the overlay shape defined by exontrol.Shapes.ScrollBar.overlay.up
"up(l),down(r)" {string}, defines arrows for scroll-rectangular or scroll-circle
VerticalOverlayShapes
VerticalShapes :string
The format of the property is:
"shape(part),shape(part),..."where:
- "shape", defines the shape to apply on the UI part as one of the following:
◦ any of 140 color names any browser supports (such as red, blue, green, ...)
◦ hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF (such as #0000ff which defines a blue background)
◦ hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF (such as #0000ff80 which defines a semi-transparent blue background)
◦ RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255( such as rgb(0,0,255) that defines a blue background)
◦ RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) ( such as rgba(0,0,255,0.5) which defines a semi-transparent blue background)
◦ HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors (such as hsl(240, 100%, 50%) that defines a blue background)
◦ HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) (such as hsla(240, 100%, 50%,0.5) that defines a semi-transparent blue background)
◦ a JSON representation of the shape object to apply (while it starts with { character, such as '{"normal": {"primitive": "RoundRect","fillColor":"black","tfi": {"fgColor": "white"}}}')
◦ defines the name of the property of exontrol.Shapes.ScrollBar.background/exontrol.Shapes.ScrollBar.foreground object to be applied on the part, such as "button", "hThumbLite", "hBackCircle", etc. - "part", defines the name of the part the shape is applied on (as defined bellow)
Part Description "l" Left or top button of the scroll bar "l1" First additional button in the left or top area "l2" Second additional button in the left or top area "l3" Third additional button in the left or top area "l4" Fourth additional button in the left or top area "l5" Fifth additional button in the left or top area "t" Scroll bar thumb "r" Right or down button of the scroll bar "r1" First additional button in the right or down area "r2" Second additional button in the right or down area "r3" Third additional button in the right or down area "r4" Fourth additional button in the right or down area "r5" Fifth additional button in the right or down area "r6" Sixth additional button in the right or down area "lo" Lower background (between left/top button and thumb) "up" Upper background (between thumb and right/bottom button) "b" Background (union of lower and upper background parts)
Type:
- string
Example
null {null}, uses the default VerticalShapes value. By default, the verticalShapes is "vThumbLite(t)".
"vThumbLite(t)" {string}, defines a lite-scroll, or shotly it applies the exontrol.Shapes.ScrollBar.background.vThumbLite and exontrol.Shapes.ScrollBar.foreground.vThumbLite on "thumb" part
"button(l1,l2,l3,l4,l5,l,r,r1,r2,r3,r4,r5,r6),vThumb(t),back(lo,b,up)" {string}, defines a rectangular-scroll
"buttonCircle(l1,l2,l3,l4,l5,l,r,r1,r2,r3,r4,r5,r6),vThumbCircle(t),vBackCircle(b)" {string}, defines a circular-scroll
"button(l1,l2,l3,l4,l5,l,r,r1,r2,r3,r4,r5,r6)" {string} indicates that all l1-r6 applies the exontrol.Shapes.ScrollBar.background.button and exontrol.Shapes.ScrollBar.foreground.button shapes.
VerticalShapes
VisibleParts :string
The parts of the control are:
Any other literal between commas is ignored. If duplicate literals are found, the second is ignored, and so on.
Part Description "l" Left or top button of the scroll bar "l1" First additional button in the left or top area "l2" Second additional button in the left or top area "l3" Third additional button in the left or top area "l4" Fourth additional button in the left or top area "l5" Fifth additional button in the left or top area "t" Scroll bar thumb "r" Right or down button of the scroll bar "r1" First additional button in the right or down area "r2" Second additional button in the right or down area "r3" Third additional button in the right or down area "r4" Fourth additional button in the right or down area "r5" Fifth additional button in the right or down area "r6" Sixth additional button in the right or down area "lo" Lower background (between left/top button and thumb) "up" Upper background (between thumb and right/bottom button) "b" Background (union of lower and upper background parts)
Type:
- string
Example
null {null}, uses the default VisibleParts value. By default, the VisibleParts is "l,t,r,b", which indicates that only "left-button", "thumb", "right-button" and "background" parts are visible
"t,b" {string}, indicates that only "thumb", "background" parts are visible
VisibleParts
WheelChange :number
Type:
- number
Example
null {null}, uses the default WheelChange property. By default, the wheelChange is 1.
0 {number}, no change while the user rotates the mouse wheel.
1 {number}, increases or decreases the scroll's value by 1 when the user rotates the mouse wheel
WheelChange
Methods
BeginUpdate()
Example
oScrollBar.BeginUpdate();
// performs multiple changes to the control
oScrollBar.EndUpdate();
BeginUpdate
EndUpdate()
Example
oScrollBar.BeginUpdate();
// performs multiple changes to the control
oScrollBar.EndUpdate();
EndUpdate
GetCanvas() → {HTMLCanvasElement}
Returns:
- Type
- HTMLCanvasElement
Example
oScrollBar.GetCanvas(), gets the canvas element, the control is running on, and holds a reference to it into oCanvas variable
GetCanvas
GetCaptionPart(part) → {string}
Parameters:
| Name | Type | Description |
|---|---|---|
part |
ScrollBar.PartEnum | Specifies a part of the scroll-bar. |
Returns:
- Type
- string
Example
oScrollBar.GetCaptionPart("thumb") {string}, gets the caption of the thumb part of the scroll bar
GetCaptionPart
GetInfo() → {object}
Returns:
- Type
- object
Example
oScrollBar.GetInfo(), returns an object of {range,page,pos} type that inicates the scroll bar's range, page and position. For example, if the scroll's min is 0, max is 100, page is 10 and value is 25, the returned object will be: {range:100, page:10, pos:25}
GetInfo
GetMaxRange() → {number}
Returns:
- Type
- number
Example
oScrollBar.GetMaxRange() {number}, gets the range the value can navigate to. For example, if the scroll's min is 0, max is 100 and largeChange is 10, the GetMaxRange() method will return 90, which indicates that the scroll bar's position can range from 0 to 90 (0-based), corresponding to actual values from 0 to 100, ensuring that the visible page does not exceed the defined range.
GetMaxRange
GetPage() → {number}
Returns:
- Type
- number
Example
The following statements are equivalent:
oScrollBar.GetPage() {number}, returns the amount by which the scroll box position changes when the user clicks in the scroll bar or presses the PAGE UP or PAGE DOWN keys
oScrollBar.GetLargeChange() {number}, returns the amount by which the scroll box position changes when the user clicks in the scroll bar or presses the PAGE UP or PAGE DOWN keys
oScrollBar.LargeChange {number}, specifies the amount by which the scroll box position changes when the user clicks in the scroll bar or presses the PAGE UP or PAGE DOWN keys
where oScrollBar is an instance of the ScrollBar control
GetPage
GetRange() → {number}
Returns:
- Type
- number
Example
If the scroll's min is 0 and max is 100, the GetRange() method will return 100, which indicates that the scroll bar's position can range from 0 to 100 (0-based). If the scroll's min is 10 and max is 50, the GetRange() method will return 40, which indicates that the scroll bar's position can range from 0 to 40 (0-based), corresponding to actual values from 10 to 50.
GetRange
GetScrollRange() → {number}
Returns:
- Type
- number
Example
oScrollBar.GetScrollRange() {number}, gets the maximum position the scroll bar can go to (0-based). For example, if the scroll's min is 10 and max is 50, the GetScrollRange() method will return 40, which indicates that the scroll bar's position can range from 0 to 40 (0-based), corresponding to actual values from 10 to 50. If the IgnoreLargeChange property is false and the LargeChange property is greater than 0, the GetScrollRange() method will return a reduced value to ensure that the visible page does not exceed the defined range. For instance, if the scroll's min is 10, max is 50, largeChange is 10 and ignoreLargeChange is false, the GetScrollRange() method will return 30, which indicates that the scroll bar's position can range from 0 to 30 (0-based), corresponding to actual values from 10 to 50, ensuring that the visible page does not exceed the defined range.
GetScrollRange
Refresh()
For example, call Refresh() when:
- The control's container has been resized and the layout must be recalculated.
- External CSS or styling changes affect the control's appearance.
- The control becomes visible after being hidden.
- You need to ensure the UI is visually synchronized with its current internal state.
The method does not alter the control's data, options, or configuration - it only updates the rendered output.
- Since:
- 4.0
Example
oScrollBar.Refresh(), refreshes the control
Refresh
ResetRange()
Example
If the scroll's min is 0 and max is 100, calling oScrollBar.ResetRange() will change the scroll's max to 0 (min + range), while the min remains unchanged. The GetRange() method will then return 0, which indicates that the scroll bar's position can only be at 0 (0-based). If the scroll's min is 10 and max is 50, calling oScrollBar.ResetRange() will change the scroll's max to 10 (min + range), while the min remains unchanged. The GetRange() method will then return 0, which indicates that the scroll bar's position can only be at 0 (0-based), corresponding to an actual value of 10.
ResetRange
Scroll(nAction, value) → {boolean}
Parameters:
| Name | Type | Description |
|---|---|---|
nAction |
ScrollBar.ActionEnum | A ScrollBar.ActionEnum expression, that specifies the type of action the control should perform. |
value |
number | Indicates one of the following:
|
Returns:
- Type
- boolean
Example
Scroll(exScrollEnd), scrolls to the end
Scroll(exLineDown, 2), scrolls down two lines
Scroll(exThumbPos, 100), scrolls to the position 100
Scroll
SetCaptionPart(part, caption)
Parameters:
| Name | Type | Description |
|---|---|---|
part |
ScrollBar.PartEnum | Specifies a part of the scroll-bar. |
caption |
string | Specifies caption to be assigned to the part. If null/missing/undefined the part's caption is removed. |
Example
oScrollBar.SetCaptionPart("thumb", "R"), assigns "T" caption to the thumb part of the scroll bar
SetCaptionPart
SetInfo(oInfo)
Parameters:
| Name | Type | Description |
|---|---|---|
oInfo |
object | Specifies an object of {range,page,pos} type, that holds new scroll bar's range, page and/or position. |
Example
oScrollBar.SetInfo({range:100, page:10, pos:25}), changes the scroll bar's range to 100, page to 10 and position to 25. The scroll bar's value will be changed to 25 (min + pos). The "onchange" event occurs, once the scroll's position is changed.
oScrollBar.SetInfo({page:10}), changes the scroll bar's page to 10, while the range and position remain unchanged.
SetInfo
SetPage(newVal)
Parameters:
| Name | Type | Description |
|---|---|---|
newVal |
number | Specifies the amount by which the scroll box position changes when the user clicks in the scroll bar or presses the PAGE UP or PAGE DOWN keys. |
Example
The following statements are equivalent:
oScrollBar.SetPage( 10 ), changes the scroll's page to 10. The "onchange" event occurs, once the scroll's value is changed by changing the page
oScrollBar.SetLargeChange(10), changes the scroll's page to 10. The "onchange" event occurs, once the scroll's value is changed by changing the page
oScrollBar.LargeChange = 10, changes the scroll's page to 10. The "onchange" event occurs, once the scroll's value is changed by changing the page
where oScrollBar is an instance of the ScrollBar control
SetPage
SetRange(newVal)
Parameters:
| Name | Type | Description |
|---|---|---|
newVal |
number | Specifies the range of the scroll bar's position (0-based). |
Example
If the scroll's min is 0 and max is 100, calling oScrollBar.SetRange(200) will change the scroll's max to 200, while the min remains unchanged. The GetRange() method will then return 200, which indicates that the scroll bar's position can range from 0 to 200 (0-based). If the scroll's min is 10 and max is 50, calling oScrollBar.SetRange(40) will change the scroll's max to 50 (min + range), while the min remains unchanged. The GetRange() method will then return 40, which indicates that the scroll bar's position can range from 0 to 40 (0-based), corresponding to actual values from 10 to 50.
SetRange
Update(callback, thisArgopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | Indicates a callback to perform changes within the control. | |
thisArg |
any |
<optional> |
Specifies the value of "this" keyword during the callback. If missing/empty/undefined the thisArg points to the control itself, as an object of ScrollBar type. |
Example
oScrollBar.Update(function()
{
// performs multiple changes to the control
});
Update
off(event, listener, methodopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
event |
string | Indicates the event to unbind, which can either be:
|
|
listener |
object | callback | Defines the listener to remove, which can either be:
|
|
method |
string |
<optional> |
Defines an optional case-sensitive string specifying the method on the listener to remove. If not provided, the listener[type]() function is used. This parameter is ignored when the listener is a JavaScript callback function. |
- Since:
- 4.4
Example
The following example removes the change event handler from the control:
oScrollBar.off("change");
where oScrollBar is an object of ScrollBar type.
This sample is equivalent to:
oScrollBar.Listeners.Remove("onchange");
The following example removes all event handlers from the control:
oScrollBar.off();
where oScrollBar is an object of ScrollBar type.
This sample is equivalent to:
oScrollBar.Listeners.Clear();
or
oScrollBar.Listeners.Remove();
off
on(event, listener, methodopt) → {object}
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
event |
string | Specifies the event to listen for or a keyboard shortcut, in one of the following forms:
|
|
listener |
object | callback | Defines the listener to add, which can either be:
|
|
method |
string |
<optional> |
Defines an optional case-sensitive string specifying the method on the listener to handle the event. If not provided, the listener[type]() function is used. This parameter is ignored when the listener is a JavaScript callback function. |
- Since:
- 4.4
Returns:
- type {string}, specifies a case-sensitive string that specifies the type of event to listen for
- do(event) {callback}, indicates a function that can be invoked to trigger the specified event for all listeners registered for that event type
- callback {callback}, defines the listener's callback function
- thisArg {any}, defines the value of this during the listener's callback execution
- lock {number}, locks or unlocks the invocation of the listener's callback
- name {string}, defines the name of the callback, mostly used for debugging purposes
- equal(oCompareListenerCallback) {callback}, indicates a function of callback(oCompareListenerCallback) {boolean} type compares the current object with the provided object. It returns true if the objects contain the same data
- Type
- object
Example
The following example logs event details when the control is changed:
oScrollBar.on("change", function(oEvent)
{
console.log(oEvent);
});
where oScrollBar is an object of ScrollBar type.
This sample is quivalent of
oScrollBar.Listeners.Add("onchange", function (oEvent)
{
console.log(oEvent);
});
on
Events
onchange
Parameters:
| Name | Type | Description |
|---|---|---|
oEvent |
number | inidcates the current scroll bar's value, equivalent to calling the Value property. |
Example
The following samples display the control's current position, as soon as it changes:
oScrollBar.onchange = function (oEvent)
{
console.log(oEvent);
}
or
oScrollBar.Listeners.Add("onchange", function (oEvent)
{
console.log(oEvent);
})
where oScrollBar is an object of ScrollBar type
onchange
onchanging
Parameters:
| Name | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
oEvent |
object | Specifies the scroll bar's old and new value as an object of {old, new} type.
Properties
|
Example
The following samples display the old and new value of the control, as soon as it changes:
oScrollBar.onchanging = function (oEvent)
{
console.log(oEvent);
}
or
oScrollBar.Listeners.Add("onchanging", function (oEvent)
{
console.log(oEvent);
})
where oScrollBar is an object of ScrollBar type
onchanging
onclickingpart
Parameters:
| Name | Type | Description |
|---|---|---|
oEvent |
ScrollBar.PartEnum | Specifies the part of the control being clicked. |
Returns:
- Type
- boolean
Example
The following samples display the part of the scroll bar being cliked:
oScrollBar.onclickingpart = function (oEvent)
{
console.log(oEvent);
}
or
oScrollBar.Listeners.Add("onclickingpart", function (oEvent)
{
console.log(oEvent);
})
where oScrollBar is an object of ScrollBar type
onclickingpart
onclickpart
Parameters:
| Name | Type | Description |
|---|---|---|
oEvent |
ScrollBar.PartEnum | Specifies the part of the control being clicked. |
Example
The following samples display the part of the scroll bar being cliked:
oScrollBar.onclickpart = function (oEvent)
{
console.log(oEvent);
}
or
oScrollBar.Listeners.Add("onclickpart", function (oEvent)
{
console.log(oEvent);
})
where oScrollBar is an object of ScrollBar type
onclickpart