Query轻量级圆形进度指示器插件效果演示
|
1
|
<script src="radialIndicator.js"></script> |
|
1
|
$('#indicatorContainer').radialIndicator(); |
In this first argument is configuration parameters [Optional], Lets see a example with configuration.
|
1
2
3
4
5
6
7
|
$('#indicatorContainer').radialIndicator({ barColor: '#87CEEB', barWidth: 10, initValue: 40, roundCorner : true, percentage: true }); |
|
1
2
3
4
|
var radialObj = $('#indicatorContainer').data('radialIndicator');//now you can use instance to call different method on the radial progress.//likeradialObj.animate(60); |
What if you don't use jQuery
Radial Progress work standalone too.|
1
2
3
4
5
6
7
8
9
|
//Intialiazation var radialObj = radialIndicator('#indicatorContainer', { barColor : '#87CEEB', barWidth : 10, initValue : 40}); //Using InstanceradialObj.animate(60); |
In this way first argument is a selector string or dom node or node list (Even you pass a node list it takes the first node only). Function returns a instance so you can use it call different methods same as shown in jquery example.
You can use any one of the following way as per your convinient.
A radialIndicator without number idicator
|
1
2
3
|
$('#indicatorContainer').radialIndicator({ displayNumber: false}); |
Providing a color range
You can provide a color range for different points, and if interpolate option is true radialIndicator will interpolate color between two points else it will take the upper limit color of the points.
|
1
2
3
4
5
6
7
8
9
|
$('#indicatorContainer').radialIndicator({ barColor: { 0: '#FF0000', 33: '#FFFF00', 66: '#0066FF', 100: '#33CC33' }, percentage: true}); |
Providing minimum value and maximum value
You can provide a minimum and maximum value to display the indicator as per required .
|
1
2
3
4
|
$('#indicatorContainer').radialIndicator({ minValue: 1000, maxValue: 100000}); |
Formating a indicator
You can provide a # formatter or a formatter function to format indicator.
|
1
2
3
4
5
6
|
$('#indicatorContainer').radialIndicator({ radius: 70, minValue: 10000, maxValue: 10000000, format: '$ ##,##,###'}); |
Having logo / different element inside the radial inside radialIndicator
This we can easily achieve with normal html css. Here is an example

HTML
|
1
2
3
4
|
<div id="indicatorContainerWrap"> <div id="indicatorContainer"></div> <img src="picture/lab_exp.png" id="prgLogo"/></div> |
CSS
|
1
2
3
4
5
6
7
8
9
10
11
|
#indicatorContainerWrap,#indicatorContainer{ display:inline-block; position:relative;}#prgLogo{ position:absolute; width:60px; height:60px; margin-top:-30px; margin-left:-30px;} |
JS
|
1
|
$('#indicatorContainer').radialIndicator({value : 90}); |
A clock example
A simple clock using radial indicator.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
var radialObj = radialIndicator('#indicatorContainer', { radius: 60, barWidth: 5, barColor: '#FF0000', minValue: 0, maxValue: 60, fontWeight: 'normal', roundCorner: true, format: function (value) { var date = new Date(); return date.getHours() + ':' + date.getMinutes(); }});setInterval(function () { radialObj.value(new Date().getSeconds() + 1);}, 1000); |
A file upload example
HTML
|
1
2
3
4
5
|
<div id="indicatorContainerWrap"> <div class="rad-prg" id="indicatorContainer"></div> <div class="rad-cntnt">Click / Drop file to select.</div> <input type="file" id="prgFileSelector" /></div> |
CSS
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#indicatorContainerWrap{ position: relative; display: inline-block;}.rad-cntnt{ position: absolute; display: table; vertical-align: middle; text-align: center; width: 100%; top:50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); font-size:20px; line-height: 24px;}#prgFileSelector{ position: absolute; width: 100%; height: 100%; opacity: 0; top:0; left:0; z-index: 10;} |
JS
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
//file upload examplevar container = $('#indicatorContainerWrap'), msgHolder = container.find('.rad-cntnt'), containerProg = container.radialIndicator({ radius: 100, percentage: true, displayNumber: false }).data('radialIndicator');container.on({ 'dragenter': function (e) { msgHolder.html("Drop here"); }, 'dragleave': function (e) { msgHolder.html("Click / Drop file to select."); }, 'drop': function (e) { e.preventDefault(); handleFileUpload(e.originalEvent.dataTransfer.files); }});$('#prgFileSelector').on('change', function () { handleFileUpload(this.files);});function handleFileUpload(files) { msgHolder.hide(); containerProg.option('displayNumber', true); var file = files[0], fd = new FormData(); fd.append('file', file); $.ajax({ url: 'service/upload.php', type: 'POST', data: fd, processData: false, contentType: false, success: function () { containerProg.option('displayNumber', false); msgHolder.show().html('File upload done.'); }, xhr: function () { var xhr = new window.XMLHttpRequest(); //Upload progress xhr.upload.addEventListener("progress", function (e) { if (e.lengthComputable) { var percentComplete = (e.loaded || e.position) * 100 / e.total; //Do something with upload progress console.log(percentComplete); containerProg.animate(percentComplete); } }, false); return xhr; } });} |
http://www.htmleaf.com/Demo/201502171390.html

浙公网安备 33010602011771号