Basic Progress Bars
Simple progress bars with different completion levels
Colored Progress Bars
Progress bars with different color schemes
Striped Progress Bars
Progress bars with striped patterns for visual appeal
Multiple Progress Bars
Stack multiple progress bars in a single container
Progress with Labels
Progress bars with detailed labels and descriptions
Circular Progress Indicators
Circular progress bars for modern UI designs
Development
Testing
Design
Marketing
Progress with Icons
Progress bars enhanced with Material Icons
Progress Steps
Step-by-step progress indicators
Order Processing
Project Milestones
User Onboarding
Deployment Process
Gradient Progress Bars
Modern gradient progress bars for enhanced visual appeal
Interactive Progress Bars
Progress bars with interactive controls and animations
Custom Styled Progress Bars
Progress bars with unique styling and effects
BProgress - Page-level Progress Bar
Global top-of-page progress indicator for AJAX operations and page transitions
About BProgress
BProgress is a lightweight progress bar plugin that appears at the top of the page, similar to YouTube or Medium's page loading indicators. It's globally available throughout the application.
- Auto-initialized: Available on all pages via the admin layout
- AJAX-ready: Perfect for showing loading states during async operations
- Lightweight: No dependencies, pure JavaScript
- Customizable: Configurable colors, heights, and animation speeds
Interactive Test Controls
Test the BProgress plugin with these interactive buttons
JavaScript API
Available global functions
| Function | Description | 
|---|---|
| showProgress() | Start/show the progress bar | 
| hideProgress() | Complete and hide the progress bar | 
| setProgress(value) | Set progress to specific % (0-100) | 
Usage Examples
// Simple start and stop
showProgress();
// ... do some work ...
hideProgress();
// With specific progress values
showProgress();
setProgress(25);  // 25% complete
setProgress(50);  // 50% complete
setProgress(75);  // 75% complete
hideProgress();   // Complete and hide// jQuery AJAX example
showProgress();
$.ajax({
    url: '/api/data',
    method: 'GET',
    success: function(data) {
        console.log('Data loaded:', data);
    },
    error: function(error) {
        console.error('Error:', error);
    },
    complete: function() {
        hideProgress();
    }
});// Fetch API example
async function loadData() {
    showProgress();
    try {
        const response = await fetch('/api/data');
        const data = await response.json();
        console.log('Data loaded:', data);
    } catch (error) {
        console.error('Error:', error);
    } finally {
        hideProgress();
    }
}Best Practices
- Always call hideProgress()in afinallyblock to ensure cleanup
- Use for operations that take longer than 500ms
- Don't use for instant operations - it may flash briefly
- Consider combining with loading spinners for longer operations
