├── .gitignore
├── README.textile
├── Rakefile
├── build
├── jquery-custom-scrollbar-0.5.0.zip
├── jquery-custom-scrollbar-0.5.1.zip
├── jquery-custom-scrollbar-0.5.2.zip
├── jquery-custom-scrollbar-0.5.3.zip
├── jquery-custom-scrollbar-0.5.4.zip
└── jquery-custom-scrollbar-0.5.5.zip
├── custom-scrollbar.jquery.json
├── demos
├── basic.html
├── events.html
├── expandable_list.html
├── images
│ └── lena.png
├── index.html
├── nested.html
├── prevent_default_scroll.html
├── resizing.html
├── scrolling_programmatically.html
└── skins.html
├── jquery.custom-scrollbar.css
└── jquery.custom-scrollbar.js
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | npm-debug.log
--------------------------------------------------------------------------------
/README.textile:
--------------------------------------------------------------------------------
1 | h1. jQuery Custom Scrollbar
2 |
3 | jQuery Custom Scrollbar is a jQuery plugin that lets you add fully customizable scrollbars to your sites. With the plugin you can apply any css styles you want to your scrollbars.
4 |
5 | h2. Features
6 |
7 | * vertical and horizontal scrollbars you can style your own way
8 | * scrolling by mouse dragging, mouse wheel, keyboard - just as you would with native browser scrollbar
9 | * touch scrolling on mobile devices (Android, iPhone and iPad)
10 | * a couple predefined skins showing you how to style scrollbars
11 | * simple api that lets you scroll programmatically and be notified about scroll events
12 |
13 | h2. Requirements
14 |
15 | The plugin supports all major browsers: Chrome, Firefox, IE 7+.
16 |
17 | To use the plugin you obviously need jQuery (it should work in jQuery 1.4 and later versions).
18 |
19 | h2. Download
20 |
21 | You can download the latest version "here":https://github.com/mzubala/jquery-custom-scrollbar/raw/master/build/jquery-custom-scrollbar-0.5.5.zip
22 |
23 | h2. Demos
24 |
25 | In demos folder of this repo, there are some example usages of custom scrollbar and its api. The demos are also available online "here":http://jquery-custom-scrollbar.rocketmind.pl/
26 |
27 | h2. Usage
28 |
29 | First download and add jquery.custom-scrollbar.js and jquery.custom-scrollbar.css to your site.
30 |
31 | Suppose you have a container on your site with some lengthy content and you want to make it scrollable:
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | Define it's width and height (below some example size is used):
40 |
41 |
42 | .container {
43 | width: 300px; // you can also use max-width
44 | height: 400px; // you can also use max-height
45 | }
46 |
47 |
48 | Add a skin class to your container:
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | In the example we use default-skin. Plugin comes with two other predefined skins: gray-skin and modern-skin. You are not limited to that and you can style scrollbar your own way.
57 |
58 | Finally call this js code:
59 |
60 |
65 |
66 | If container content does not fit in those sizes scrollbar will appear.
67 |
68 | The above method will add vertical scrollbar only. If you also want to add horizontal scrollbar, there is one more css step required:
69 |
70 |
75 |
76 | This defines example total width of the scrolled content (not just the width of the visible part as in previous step).
77 |
78 | h2. Options
79 |
80 | There are some options you can pass when initializing scrollbar:
81 |
82 | |_. Option |_. Type|_. Default value |_. Description |
83 | | animationSpeed | Number | 300 | Speed of the animation of programmatic scrolling. It's possible to edit it with setAnimationSpeed method. Animation speed equal to 0 means no animation.|
84 | | fixedThumbHeight | Number | undefined | By default thumb height (in case of vertical scrollbar) is calculated automatically depending on viewport and overview height but you can fix thumb height to your chosen pixel value by setting this option. Make sure to not set min-height in css if you set fixedThumbHeight because min-height has priority.|
85 | | fixedThumbWidth | Number | undefined | Option analogical to fixedThumbHeight but applied to thumbs of horizontal scrollbars.|
86 | | hScroll | Boolean | true | Indicates whether or not, horizontal scrollbar should be shown when it's necessary. |
87 | | preventDefaultScroll | Boolean | false | When the scrolling event occurs (e.g. down arrow key, mouse wheel) and it doesn't cause the scrollbar to move (e.g. because the scrollbar is in extreme position), the event is propagated further which will cause the parent container to scroll. If it does cause the scrollbar movement then such event is stopped from propagating further and the parent container won't scroll. This default behaviour can be changed by setting preventDefaultScroll: true. It will cause the custom scrollbar to always stop scrolling event propagation no matter if the scrollbar changed or didn't change its position.|
88 | | skin|String|undefined|A css skin class that will be added to the scrolled container. You can define it in html as well as here in options. Note that skin has to be defined in one of those ways.|
89 | | swipeSpeed|Number|1|Indicates how fast touch scroll should be. When you swipe your finger by x pixels the content will be scrolled by swipeSpeed * x pixels.|
90 | | updateOnWindowResize | Boolean | false | Indicates whether scrollbar should recalculate thumb size when window is resized. See demos/resize.html for an example.|
91 | | vScroll | Boolean | true | Same as above but applies to vertical scrollbar. |
92 | | wheelSpeed|Number|40|Indicates how fast mouse wheel scroll should be. When you make the smallest possible mouse wheel move, the content will be scrolled by wheelSpeed pixels.|
93 |
94 | For example:
95 |
96 |
103 |
104 | h2. API
105 |
106 | There are some methods of the plugin you may want to call.
107 |
108 | h3. setAnimationSpeed(speed)
109 |
110 | Changes programmatic scroll animation speed to the passed speed - an integer indicating how many milliseconds the animation should last.
111 |
112 | It's also possible to set the animation speed upon plugin initialization. By default it equals 300.
113 |
114 | Note that you may use this method if want to have some scrolls animated and some without animation - to get rid of the animation just call it with 0.
115 |
116 |
119 |
120 |
121 | h3. scrollTo(element)
122 |
123 | Scrolls viewport to a given element inside scrolled content. An element might be jQuery object or a selector string. To control animation speed use animationSpeed initialization option. Example usage:
124 |
125 |
128 |
129 | h3. scrollToX(x)
130 |
131 | Sets horizontal scrollbar position to x pixels. x should be in range from 0 to scrolled content width. If it's outside that range, content will be scrolled to the start or to the end. To control animation speed use animationSpeed initialization option.
132 |
133 |
136 |
137 | h3. scrollToY(y)
138 |
139 | Sets vertical scrollbar position to y pixels. x should be in range from 0 to scrolled content height. If it's outside that range, content will be scrolled to the start or to the end. To control animation speed use animationSpeed initialization option.
140 |
141 |
160 |
161 | h3. resize(keepPosition)
162 |
163 | Recalculates and sets sizes of all scrollbar components. Call this whenever your scrolled block changes its size and scrollbar becomes invalid. After you call it scrollbar is adjusted to new sizes of your block.
164 |
165 | Use keepPosition parameter to decide if the scrollbar should stay in the same position (keepPosition == true) or change position (keepPosition == true) so that the thumb position change is proportional to the size change. The first case is useful if your container changes size and you want to show exactly the same content that was visible before size change. The second case is useful when you're listening to window resize.
166 |
167 |
188 |
189 | Handler function takes two arguments. event is standard jquery event object. scrollData is an object with 3 fields holding scroll specific information:
190 | * scrollPercent - floating point number in range 0.0 to 100.0 indicating percentage position of the scrollbar
191 | * scrollDirection - string that can take following 4 values: left, right, up, down - indicates what direction the scrollbar was moved in
192 | * scrollAxis - string indicating which scrollbar was moved: X for horizontal scrollbar and Y for vertical scrollbar
193 |
194 | You can also bind handler to that event when initializing scrollbar:
195 |
196 |
201 |
202 | h2. License
203 |
204 | The plugin is released under "MIT license":http://www.opensource.org/licenses/MIT.
205 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | require 'json'
2 |
3 | task :default => [:build]
4 |
5 | task :build do
6 | Dir.mkdir("build") unless Dir.exists?("build")
7 | build_name = "jquery-custom-scrollbar-#{JSON.parse(File.open("custom-scrollbar.jquery.json").read)["version"]}"
8 | dest = "build/#{build_name}"
9 | FileUtils.rm_rf(dest) if Dir.exists?(dest)
10 | Dir.mkdir(dest)
11 | FileUtils.cp("jquery.custom-scrollbar.css", dest)
12 | FileUtils.cp("jquery.custom-scrollbar.js", dest)
13 | system("uglifyjs -m --comments all -o #{dest}/jquery.custom-scrollbar.min.js #{dest}/jquery.custom-scrollbar.js")
14 | Dir.chdir("build")
15 | system("zip -r #{build_name}.zip #{build_name}")
16 | FileUtils.rm_rf(build_name)
17 | end
--------------------------------------------------------------------------------
/build/jquery-custom-scrollbar-0.5.0.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzubala/jquery-custom-scrollbar/25c187d7085de61fdedabb6e34bb64f000df8784/build/jquery-custom-scrollbar-0.5.0.zip
--------------------------------------------------------------------------------
/build/jquery-custom-scrollbar-0.5.1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzubala/jquery-custom-scrollbar/25c187d7085de61fdedabb6e34bb64f000df8784/build/jquery-custom-scrollbar-0.5.1.zip
--------------------------------------------------------------------------------
/build/jquery-custom-scrollbar-0.5.2.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzubala/jquery-custom-scrollbar/25c187d7085de61fdedabb6e34bb64f000df8784/build/jquery-custom-scrollbar-0.5.2.zip
--------------------------------------------------------------------------------
/build/jquery-custom-scrollbar-0.5.3.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzubala/jquery-custom-scrollbar/25c187d7085de61fdedabb6e34bb64f000df8784/build/jquery-custom-scrollbar-0.5.3.zip
--------------------------------------------------------------------------------
/build/jquery-custom-scrollbar-0.5.4.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzubala/jquery-custom-scrollbar/25c187d7085de61fdedabb6e34bb64f000df8784/build/jquery-custom-scrollbar-0.5.4.zip
--------------------------------------------------------------------------------
/build/jquery-custom-scrollbar-0.5.5.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzubala/jquery-custom-scrollbar/25c187d7085de61fdedabb6e34bb64f000df8784/build/jquery-custom-scrollbar-0.5.5.zip
--------------------------------------------------------------------------------
/custom-scrollbar.jquery.json:
--------------------------------------------------------------------------------
1 | {
2 | "name":"custom-scrollbar",
3 | "version":"0.5.5",
4 | "title":"jQuery Custom Scrollbar",
5 | "author":{
6 | "name":"Maciej Zubala",
7 | "email":"maciej.zubala@rocketmind.pl",
8 | "url":"http://rocketmind.pl/"
9 | },
10 | "licenses":[
11 | {
12 | "type":"MIT",
13 | "url":"http://www.opensource.org/licenses/mit-license.php"
14 | }
15 | ],
16 | "docs":"https://github.com/mzubala/jquery-custom-scrollbar",
17 | "download":"https://github.com/mzubala/jquery-custom-scrollbar",
18 | "dependencies":{
19 | "jquery":">=1.4"
20 | },
21 |
22 | "description":"jQuery Custom Scrollbar is a plugin that lets you add fully customizable scrollbars to your sites instead of browser's default scrollbars. When using the plugin you can apply any css styles you want to your scrollbars. Features include: vertical and horizontal scrollbars you can style your own way, scrolling by mouse dragging, mouse wheel, keyboard – just as you would with native browser scrollbar, touch scrolling on mobile devices (Android, iPhone and iPad), a couple predefined skins showing you how to style scrollbars, simple api that lets you scroll programmatically.",
23 | "keywords":["ui", "scroll", "scrollbar"],
24 | "homepage":"https://github.com/mzubala/jquery-custom-scrollbar",
25 | "bugs":"https://github.com/mzubala/jquery-custom-scrollbar/issues",
26 | "demo":"http://jquery-custom-scrollbar.rocketmind.pl",
27 | "maintainers":[
28 | {
29 | "name":"Maciej Zubala",
30 | "email":"maciej.zubala@rocketmind.pl",
31 | "url":"http://rocketmind.pl/"
32 | }
33 | ]
34 | }
35 |
--------------------------------------------------------------------------------
/demos/basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JQuery Custom Scrollbar - basic usage demo
5 |
6 |
7 |
8 |
85 |
86 |
87 |
88 |
JQuery Custom Scrollbar - basic usage
89 |
90 |
91 |
Vertical scrollbar
92 |
93 |
94 |
95 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
96 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
97 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
98 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
99 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
100 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
101 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
102 | interdum massa nibh nec erat.
103 |
124 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
125 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
126 | Quisque
127 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
128 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
129 | tempus
130 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
131 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
132 | eget
133 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
134 | in
135 | interdum massa nibh nec erat.
136 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
137 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
138 | Quisque
139 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
140 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
141 | tempus
142 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
143 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
144 | eget
145 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
146 | in
147 | interdum massa nibh nec erat.
148 |
149 |
150 |
151 |
Min thumb size
152 |
153 |
154 |
155 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
156 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
157 | Quisque
158 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
159 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
160 | tempus
161 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
162 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
163 | eget
164 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
165 | in
166 | interdum massa nibh nec erat.
167 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
168 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
169 | Quisque
170 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
171 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
172 | tempus
173 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
174 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
175 | eget
176 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
177 | in
178 | interdum massa nibh nec erat.
179 |
180 |
181 |
Fixed thumb size
182 |
183 |
184 |
185 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
186 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
187 | Quisque
188 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
189 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
190 | tempus
191 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
192 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
193 | eget
194 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
195 | in
196 | interdum massa nibh nec erat.
197 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
198 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
199 | Quisque
200 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
201 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
202 | tempus
203 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
204 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
205 | eget
206 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
207 | in
208 | interdum massa nibh nec erat.
209 |
210 |
211 |
No scrollbar needed
212 |
213 |
When the content is short enough to fit the container, the scrollbar won't appear.
214 |
215 |
216 |
217 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
218 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
219 |
55 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
56 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
57 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
58 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
59 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
60 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
61 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
62 | interdum massa nibh nec erat.
63 |
96 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
97 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
98 | Quisque
99 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
100 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
101 | tempus
102 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
103 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
104 | eget
105 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
106 | in
107 | interdum massa nibh nec erat.
108 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
109 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
110 | Quisque
111 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
112 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
113 | tempus
114 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
115 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
116 | eget
117 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
118 | in
119 | interdum massa nibh nec erat.
120 |
38 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
39 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
40 | Quisque
41 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
42 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
43 | tempus
44 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
45 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
46 | eget
47 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
48 | in
49 | interdum massa nibh nec erat.
50 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
51 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
52 | Quisque
53 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
54 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
55 | tempus
56 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
57 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
58 | eget
59 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
60 | in
61 | interdum massa nibh nec erat.
62 |
69 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
70 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
71 | Quisque
72 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
73 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
74 | tempus
75 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
76 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
77 | eget
78 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
79 | in
80 | interdum massa nibh nec erat.
81 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
82 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
83 | Quisque
84 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
85 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
86 | tempus
87 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
88 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
89 | eget
90 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
91 | in
92 | interdum massa nibh nec erat.
93 |
100 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
101 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
102 | Quisque
103 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
104 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
105 | tempus
106 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
107 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
108 | eget
109 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
110 | in
111 | interdum massa nibh nec erat.
112 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
113 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
114 | Quisque
115 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
116 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
117 | tempus
118 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
119 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
120 | eget
121 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
122 | in
123 | interdum massa nibh nec erat.
124 |
131 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
132 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
133 | Quisque
134 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
135 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
136 | tempus
137 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
138 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
139 | eget
140 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
141 | in
142 | interdum massa nibh nec erat.
143 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
144 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
145 | Quisque
146 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
147 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
148 | tempus
149 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
150 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
151 | eget
152 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
153 | in
154 | interdum massa nibh nec erat.
155 |
162 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
163 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
164 | Quisque
165 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
166 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
167 | tempus
168 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
169 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
170 | eget
171 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
172 | in
173 | interdum massa nibh nec erat.
174 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
175 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
176 | Quisque
177 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
178 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
179 | tempus
180 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
181 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
182 | eget
183 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
184 | in
185 | interdum massa nibh nec erat.
186 |
193 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
194 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
195 | Quisque
196 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
197 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
198 | tempus
199 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
200 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
201 | eget
202 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
203 | in
204 | interdum massa nibh nec erat.
205 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
206 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
207 | Quisque
208 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
209 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
210 | tempus
211 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
212 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
213 | eget
214 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
215 | in
216 | interdum massa nibh nec erat.
217 |
224 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
225 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
226 | Quisque
227 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
228 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
229 | tempus
230 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
231 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
232 | eget
233 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
234 | in
235 | interdum massa nibh nec erat.
236 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
237 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
238 | Quisque
239 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
240 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
241 | tempus
242 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
243 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
244 | eget
245 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
246 | in
247 | interdum massa nibh nec erat.
248 |
255 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
256 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
257 | Quisque
258 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
259 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
260 | tempus
261 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
262 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
263 | eget
264 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
265 | in
266 | interdum massa nibh nec erat.
267 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
268 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
269 | Quisque
270 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
271 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
272 | tempus
273 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
274 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
275 | eget
276 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
277 | in
278 | interdum massa nibh nec erat.
279 |
286 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
287 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
288 | Quisque
289 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
290 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
291 | tempus
292 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
293 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
294 | eget
295 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
296 | in
297 | interdum massa nibh nec erat.
298 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
299 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
300 | Quisque
301 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
302 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
303 | tempus
304 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
305 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
306 | eget
307 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
308 | in
309 | interdum massa nibh nec erat.
310 |
This container has a scrollbar and contains other scrollable container
31 |
32 |
33 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
34 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
35 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
36 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
37 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
38 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
39 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
40 | interdum massa nibh nec erat.
41 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
42 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
43 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
44 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
45 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
46 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
47 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
48 | interdum massa nibh nec erat.
49 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
50 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
51 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
52 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
53 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
54 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
55 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
56 | interdum massa nibh nec erat.
57 |
58 |
59 |
60 |
And some more content...
61 |
62 |
63 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
64 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
65 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
66 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
67 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
68 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
69 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
70 | interdum massa nibh nec erat.
71 |
JQuery Custom Scrollbar - preventDefaultScroll flag usage
83 |
84 |
After setting preventDefaultScroll: true, when you scroll and reach the end of the scrollbar and keep
85 | scrolling nothing happens cause the scrolling event is not propagated. The default (preventDefaultScroll:
86 | false) behavior is different - after reaching the end scrolling events are propagated which may cause
87 | parent container to scroll when it has its own custom or native scrollbar. The default behavior can be observed in
88 | all other demos.
89 |
90 |
Vertical scrollbar
91 |
92 |
93 |
94 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
95 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
96 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
97 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
98 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
99 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
100 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
101 | interdum massa nibh nec erat.
102 |
123 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
124 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
125 | Quisque
126 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
127 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
128 | tempus
129 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
130 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
131 | eget
132 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
133 | in
134 | interdum massa nibh nec erat.
135 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
136 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
137 | Quisque
138 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
139 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
140 | tempus
141 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
142 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
143 | eget
144 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
145 | in
146 | interdum massa nibh nec erat.
147 |
148 |
149 |
150 |
Min thumb size
151 |
152 |
153 |
154 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
155 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
156 | Quisque
157 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
158 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
159 | tempus
160 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
161 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
162 | eget
163 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
164 | in
165 | interdum massa nibh nec erat.
166 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
167 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
168 | Quisque
169 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
170 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
171 | tempus
172 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
173 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
174 | eget
175 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
176 | in
177 | interdum massa nibh nec erat.
178 |
179 |
180 |
Fixed thumb size
181 |
182 |
183 |
184 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
185 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
186 | Quisque
187 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
188 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
189 | tempus
190 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
191 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
192 | eget
193 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
194 | in
195 | interdum massa nibh nec erat.
196 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
197 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
198 | Quisque
199 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
200 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
201 | tempus
202 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
203 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
204 | eget
205 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
206 | in
207 | interdum massa nibh nec erat.
208 |
Try resizing browser window to see how scrollbar adjusts its height.
34 |
35 |
36 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia
37 | in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper
38 | justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero
39 | dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est.
40 | Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae
41 | consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit
42 | quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.
43 |
44 |
45 |
46 |
47 |
48 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia
49 | in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper
50 | justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero
51 | dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est.
52 | Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae
53 | consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit
54 | quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.
55 |
56 |
57 |
58 |
59 |
60 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia
61 | in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper
62 | justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero
63 | dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est.
64 | Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae
65 | consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit
66 | quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.
67 |
Use buttons below to scroll programmatically to an element inside scrolled div
55 |
56 |
Vertical scrollbar
57 |
58 |
59 |
60 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
61 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
62 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
63 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
64 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
65 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
66 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
67 | interdum massa nibh nec erat.
68 |
Element to scroll to
69 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
70 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
71 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
72 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
73 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
74 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
75 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
76 | interdum massa nibh nec erat.
77 |
78 |
79 |
80 |
81 |
82 |
83 |
Horizontal scrollbar
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
94 | No Lena ;(
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
Vertical and horizontal scrollbar
108 |
109 |
110 |
111 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
112 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
113 | Quisque
114 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
115 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
116 | tempus
117 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
118 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
119 | eget
120 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
121 | in
122 | interdum massa nibh nec erat.
123 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
124 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam.
125 | Quisque
126 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
127 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel
128 | tempus
129 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
130 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus
131 | eget
132 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi,
133 | in
134 | interdum massa nibh nec erat.
135 |
29 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
30 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
31 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
32 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
33 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
34 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
35 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
36 | interdum massa nibh nec erat. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit
37 | a, scelerisque sed,
38 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
39 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
40 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
41 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
42 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
43 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
44 | interdum massa nibh nec erat. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit
45 | a, scelerisque sed,
46 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
47 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
48 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
49 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
50 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
51 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
52 | interdum massa nibh nec erat.
53 |
54 |
55 |
Gray skin
56 |
57 |
58 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
59 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
60 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
61 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
62 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
63 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
64 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
65 | interdum massa nibh nec erat. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit
66 | a, scelerisque sed,
67 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
68 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
69 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
70 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
71 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
72 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
73 | interdum massa nibh nec erat. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit
74 | a, scelerisque sed,
75 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
76 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
77 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
78 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
79 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
80 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
81 | interdum massa nibh nec erat.
82 |
83 |
84 |
Modern skin
85 |
86 |
87 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed,
88 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
89 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
90 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
91 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
92 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
93 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
94 | interdum massa nibh nec erat. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit
95 | a, scelerisque sed,
96 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
97 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
98 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
99 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
100 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
101 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
102 | interdum massa nibh nec erat. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit
103 | a, scelerisque sed,
104 | lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque
105 | semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed
106 | posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus
107 | metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque.
108 | Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget
109 | nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in
110 | interdum massa nibh nec erat.
111 |