Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Nprogress | 23,848 | 7,851 | 3,263 | 2 years ago | 6 | April 19, 2020 | 128 | mit | JavaScript | |
For slim progress bars like on YouTube, Medium, etc | ||||||||||
Ngprogress Lite | 405 | 4 | 3 | 8 years ago | 3 | April 24, 2016 | mit | HTML | ||
Angular provider for slim progress bars | ||||||||||
Qier Progress | 374 | 3 | 10 months ago | 6 | February 16, 2020 | 13 | mit | TypeScript | ||
:dancer: Look at me, I am a slim progress bar and very colorful / 支持彩色或单色的顶部进度条 | ||||||||||
Ng2 Slim Loading Bar | 372 | 382 | 24 | 4 years ago | 28 | April 04, 2017 | 30 | mit | TypeScript | |
Angular 2 component shows slim loading bar at the top of the page. | ||||||||||
Nprogress | 161 | 178 | 11 | 3 years ago | 8 | September 04, 2020 | 9 | mit | JavaScript | |
Progress bars is based on nprogress for Vue | ||||||||||
Uprogress | 63 | 1 | 4 years ago | 6 | October 03, 2018 | mit | JavaScript | |||
:rainbow: μProgress - Lightweight and performant progress bar, with smooth GPU animation | ||||||||||
Microbar | 26 | 2 | 5 years ago | 6 | March 03, 2018 | 8 | mit | JavaScript | ||
🎉 A zero dependency, 1.2kb g-zipped, lightweight JavaScript Library for slim progress bars for Ajax'y applications. Inspired by YouTube and Github. | ||||||||||
Accessible Nprogress | 21 | 3 | a year ago | 7 | September 07, 2021 | 11 | mit | JavaScript | ||
For slim progress bars like on YouTube, Medium, etc | ||||||||||
Slim Documentation Old | 13 | 10 years ago | 17 | other | ||||||
Slim Framework documentation content | ||||||||||
Jprogress | 8 | 2 | 2 years ago | 2 | August 31, 2017 | 1 | JavaScript | |||
Simple slim lightweight(<2KB) JavaScript progress bar, good for visual loading indicator of callbacks, promises and similar stuff. |
Minimalist progress bar
Slim progress bars for Ajax'y applications. Inspired by Google, YouTube, and Medium.
Add nprogress.js and nprogress.css to your project.
<script src='nprogress.js'></script>
<link rel='stylesheet' href='nprogress.css'/>
NProgress is available via bower and npm.
$ npm install --save nprogress
Also available via unpkg CDN:
Simply call start()
and done()
to control the progress bar.
NProgress.start();
NProgress.done();
Ensure you're using Turbolinks 5+, and use this: (explained here)
$(document).on('turbolinks:click', function() {
NProgress.start();
});
$(document).on('turbolinks:render', function() {
NProgress.done();
NProgress.remove();
});
Ensure you're using Turbolinks 1.3.0+, and use this: (explained here)
$(document).on('page:fetch', function() { NProgress.start(); });
$(document).on('page:change', function() { NProgress.done(); });
$(document).on('page:restore', function() { NProgress.remove(); });
Try this: (explained here)
$(document).on('pjax:start', function() { NProgress.start(); });
$(document).on('pjax:end', function() { NProgress.done(); });
Add progress to your Ajax calls! Bind it to the jQuery ajaxStart
and
ajaxStop
events.
Make a fancy loading bar even without Turbolinks/Pjax! Bind it to
$(document).ready
and $(window).load
.
Percentages: To set a progress percentage, call .set(n)
, where n is a
number between 0..1
.
NProgress.set(0.0); // Sorta same as .start()
NProgress.set(0.4);
NProgress.set(1.0); // Sorta same as .done()
Incrementing: To increment the progress bar, just use .inc()
. This
increments it with a random amount. This will never get to 100%: use it for
every image load (or similar).
NProgress.inc();
If you want to increment by a specific value, you can pass that as a parameter:
NProgress.inc(0.2); // This will get the current status value and adds 0.2 until status is 0.994
Force-done: By passing true
to done()
, it will show the progress bar
even if it's not being shown. (The default behavior is that .done() will not
do anything if .start() isn't called)
NProgress.done(true);
Get the status value: To get the status value, use .status
minimum
Changes the minimum percentage used upon starting. (default: 0.08
)
NProgress.configure({ minimum: 0.1 });
template
You can change the markup using template
. To keep the progress
bar working, keep an element with role='bar'
in there. See the default template
for reference.
NProgress.configure({
template: "<div class='....'>...</div>"
});
easing
and speed
Adjust animation settings using easing (a CSS easing string)
and speed (in ms). (default: ease
and 200
)
NProgress.configure({ easing: 'ease', speed: 500 });
trickle
Turn off the automatic incrementing behavior by setting this to false
. (default: true
)
NProgress.configure({ trickle: false });
trickleSpeed
Adjust how often to trickle/increment, in ms.
NProgress.configure({ trickleSpeed: 200 });
showSpinner
Turn off loading spinner by setting it to false. (default: true
)
NProgress.configure({ showSpinner: false });
parent
specify this to change the parent container. (default: body
)
NProgress.configure({ parent: '#container' });
Just edit nprogress.css
to your liking. Tip: you probably only want to find
and replace occurrences of #29d
.
The included CSS file is pretty minimal... in fact, feel free to scrap it and make your own!
Bugs and requests: submit them through the project's issues tracker.
Questions: ask them at StackOverflow with the tag nprogress.
NProgress 2013-2017, Rico Sta. Cruz. Released under the MIT License.
Authored and maintained by Rico Sta. Cruz with help from contributors.
ricostacruz.com · GitHub @rstacruz · Twitter @rstacruz