jQuery實現(xiàn)html可聯(lián)動的百分比進度條
最近需要一個HTML可以聯(lián)動的百分比進度條,網(wǎng)上找了一下沒有,自己手動實現(xiàn)了一個。
需要解決的問題,AB兩個進度條需要按照百分比A+B=100%,A進度條可以拖動,B進度條聯(lián)動,并且有進度顏色的變化。實現(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)' } }
用了簡單JQuery做支撐,需要引入JQuery看效果。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于HTML5 Ajax文件上傳進度條如何實現(xiàn)(jquery版本)
- jQuery實現(xiàn)文件上傳進度條特效
- jQuery監(jiān)聽文件上傳實現(xiàn)進度條效果的方法
- jQuery實現(xiàn)簡單的文件上傳進度條效果
- Jquery Uploadify上傳帶進度條的簡單實例
- Jquery Uploadify多文件上傳帶進度條且傳遞自己的參數(shù)
- jquery插件uploadify實現(xiàn)帶進度條的文件批量上傳
- 基于Jquery插件Uploadify實現(xiàn)實時顯示進度條上傳圖片
- jquery-file-upload 文件上傳帶進度條效果
- Jquery和BigFileUpload實現(xiàn)大文件上傳及進度條顯示
相關(guān)文章
jQuery修改li下的樣式以及l(fā)i下的img的src的值的方法
這篇文章主要為大家介紹了jQuery如何修改li下的樣式,以及修改li下的img的src的值,示例代碼很簡單,一看就會2014-11-11jQuery獲取文本節(jié)點之 text()/val()/html() 方法區(qū)別
在jquery中val,text,html都能取到值,或加一個參數(shù)來賦值,那么它們有些什么區(qū)別?2011-03-03jQuery EasyUI API 中文文檔 - Draggable 可拖拽
jQuery EasyUI API 中文文檔 - Draggable 可拖拽,使用jQuery EasyUI的朋友可以參考下。2011-09-09jQuery插件原來如此簡單 jQuery插件的機制及實戰(zhàn)
這種插件是將對象方法封裝起來,用于對通過選擇器獲取的jQuery對象進行操作,是最常見的一種插件2012-02-02jQuery插件FusionCharts繪制的3D環(huán)餅圖效果示例【附demo源碼】
這篇文章主要介紹了jQuery插件FusionCharts繪制的3D環(huán)餅圖效果,結(jié)合完整實例形式分析了jQuery使用FusionCharts載入xml格式數(shù)據(jù)繪制圖形的操作步驟與相關(guān)實現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-04-04jQuery圖片特效插件Revealing實現(xiàn)拉伸放大
本文給大家分享的是jQuery圖片展示效果,使用的是jQuery Revealing插件,不點擊的情況下,圖片整齊排列成一行,當(dāng)任意一個圖片縮略圖被點擊的時候,該圖片就放大顯示,當(dāng)點擊關(guān)閉按鈕時圖片又重新還原了縮略圖模式。2015-04-04如何實現(xiàn)星星評價(jquery.raty.js插件)
本文主要分享了用jQuery插件jquery.raty.js實現(xiàn)星星評價功能:后臺傳數(shù)據(jù),前臺顯示星星個數(shù)的具體方法。有很好的參考價值,需要的朋友一起來看下吧2016-12-12