jQuery實(shí)現(xiàn)html可聯(lián)動(dòng)的百分比進(jìn)度條
最近需要一個(gè)HTML可以聯(lián)動(dòng)的百分比進(jìn)度條,網(wǎng)上找了一下沒有,自己手動(dòng)實(shí)現(xiàn)了一個(gè)。
需要解決的問題,AB兩個(gè)進(jìn)度條需要按照百分比A+B=100%,A進(jìn)度條可以拖動(dòng),B進(jìn)度條聯(lián)動(dòng),并且有進(jìn)度顏色的變化。實(shí)現(xiàn)功能如下:
HTML代碼:
<div class="percentage-container" > <div class="a-percentage" data-x='30'> <div class="a-percentage-bar"></div> </div> <div class="b-percentage" data-x='70'> <div class="b-percentage-bar"></div> </div> </div>
CSS代碼:
.percentage-container {
margin: 20px auto;
width: 600px;
text-align: center;
}
.percentage-container .a-percentage {
margin: 0;
width: 400px;
cursor:pointer;
}
.a-percentage {
float:left;
padding: 2px;
background: rgba(0, 0, 0, 0.25);
border-radius: 6px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.08);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.08);
}
.a-percentage-bar {
position: relative;
height: 16px;
border-radius: 4px;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
-o-transition: 0.2s linear;
transition: 0.2s linear;
-webkit-transition-property: width, background-color;
-moz-transition-property: width, background-color;
-o-transition-property: width, background-color;
transition-property: width, background-color;
-webkit-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.1);
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.1);
background: url("img/stripes.png") 0 0 repeat;
background-color: #FF5400;
}
.percentage-container .b-percentage {
margin: 0;
width: 400px;
cursor:pointer;
}
.b-percentage {
float:left;
padding: 2px;
background: rgba(0, 0, 0, 0.25);
border-radius: 6px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.08);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.08);
}
.b-percentage-bar {
position: relative;
height: 16px;
border-radius: 4px;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
-o-transition: 0.2s linear;
transition: 0.2s linear;
-webkit-transition-property: width, background-color;
-moz-transition-property: width, background-color;
-o-transition-property: width, background-color;
transition-property: width, background-color;
-webkit-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.1);
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.1);
background: url("img/stripes.png") 0 0 repeat;
background-color: #FF5400;
}
JS代碼:
$(document).ready(function (){
var w = $('.a-percentage').width();
var pos_x = $('.a-percentage').offset().left;
var inti_x = $('.a-percentage').attr('data-x')*4;
setProgressAndColor(inti_x, w);
$('.a-percentage').click(function(e) {
var x = e.originalEvent.x || e.originalEvent.layerX || 0;
x = x - pos_x;
if(x > 0 && x < w){
setProgressAndColor(x, w);
}
});
});
function setProgressAndColor(p, width){
$('.a-percentage-bar').width(p)
$('.a-percentage-bar').css('background-color',calcColor(p));
var per = Math.floor(p/4);
$('.a-percentage-bar').attr('data-x',per);
$('.b-percentage-bar').width(width-p)
$('.b-percentage-bar').css('background-color',calcColor(width-p));
per = 100-per;
$('.b-percentage-bar').attr('data-x', per);
}
function calcColor(x){
var R = 255
var G = 15;
var tmp = Math.floor(G+x);//取整保證RGB值的準(zhǔn)確
if(tmp <= 255){
return 'rgb(255,'+tmp+',15)'
} else {
R = (R-(tmp-255));
return 'rgb('+R+',255,15)'
}
}
用了簡(jiǎn)單JQuery做支撐,需要引入JQuery看效果。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于HTML5 Ajax文件上傳進(jìn)度條如何實(shí)現(xiàn)(jquery版本)
- jQuery實(shí)現(xiàn)文件上傳進(jìn)度條特效
- jQuery監(jiān)聽文件上傳實(shí)現(xiàn)進(jìn)度條效果的方法
- jQuery實(shí)現(xiàn)簡(jiǎn)單的文件上傳進(jìn)度條效果
- Jquery Uploadify上傳帶進(jìn)度條的簡(jiǎn)單實(shí)例
- Jquery Uploadify多文件上傳帶進(jìn)度條且傳遞自己的參數(shù)
- jquery插件uploadify實(shí)現(xiàn)帶進(jìn)度條的文件批量上傳
- 基于Jquery插件Uploadify實(shí)現(xiàn)實(shí)時(shí)顯示進(jìn)度條上傳圖片
- jquery-file-upload 文件上傳帶進(jìn)度條效果
- Jquery和BigFileUpload實(shí)現(xiàn)大文件上傳及進(jìn)度條顯示
相關(guān)文章
jQuery中g(shù)et和post方法傳值測(cè)試及注意事項(xiàng)
jQuery 的 get 和 post 方法有三個(gè)參數(shù):地址,數(shù)據(jù) 和回調(diào)函數(shù),剛剛做了幾個(gè)實(shí)驗(yàn),看看下面的代碼就清楚了2014-08-08
用jquery統(tǒng)計(jì)子菜單的條數(shù)示例代碼
統(tǒng)計(jì)子菜單條數(shù)的方法有很多,在本文為大家詳細(xì)介紹下使用jquery是如何實(shí)現(xiàn)的,感興趣的朋友不要錯(cuò)過2013-10-10
jquery分頁插件jquery.pagination.js實(shí)現(xiàn)無刷新分頁
這篇文章主要介紹了jquery分頁插件jquery.pagination.js實(shí)現(xiàn)無刷新分頁的相關(guān)資料,需要的朋友可以參考下2016-04-04
JQuery+div+css 無限級(jí)聯(lián)樹實(shí)現(xiàn)代碼
JQuery+div+css 無限級(jí)聯(lián)樹實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-03-03
jQuery實(shí)現(xiàn)的記住帳號(hào)密碼功能完整示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的記住帳號(hào)密碼功能,結(jié)合完整實(shí)例形式分析了jQuery使用jquery.cookie.js插件記錄用戶信息相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
jQuery實(shí)現(xiàn)的Email中的收件人效果(按del鍵刪除)
基于jquery實(shí)現(xiàn)的Email中的收件人效果,可通過del鍵刪除,需要的朋友可以參考下。2011-03-03

