当前位置: 首页 > 工具软件 > jQMeter > 使用案例 >

JQMeter进度条动态加载演示

劳昊明
2023-12-01

一、构建html(仅需要一个空的div即可)

<div id="jqmeter-container"></div>

二、引入文件

    JQmeter依赖于JQuery,所以引用文件的时候一定要先引入JQuery

<script src="js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jqmeter.min.js"></script>

    jqmeter.min.js

    下述代码直接创建命名为jqmeter.min.js,然后直接ctrl+a拷贝所有代码即可使用。

/*

Title:		jQMeter: a jQuery Progress Meter Plugin
Author:		Gerardo Larios
Version:	0.1.2
Website:	http://www.gerardolarios.com/plugins-and-tools/jqmeter
License: 	Dual licensed under the MIT and GPL licenses.

*/

!function(e){e.fn.extend({jQMeter:function(t){t&&"object"==typeof t&&(t=e.extend({},e.jQMeter.defaults,t)),this.each(function(){new e.jQMeter(this,t)})}}),e.jQMeter=function(t,r){if(goal=parseInt(r.goal.replace(/\D/g,"")),raised=parseInt(r.raised.replace(/\D/g,"")),width=r.width,height=r.height,bgColor=r.bgColor,barColor=r.barColor,orientation=r.orientation,animationSpeed=r.animationSpeed,counterSpeed=r.counterSpeed,displayTotal=r.displayTotal,total=raised/goal*100,total>=100&&(total=100),"vertical"==orientation?(e(t).html('<div class="therm outer-therm vertical"><div class="therm inner-therm vertical"><span style="display:none;">'+total+"</span></div></div>"),e(t).children(".outer-therm").attr("style","width:"+width+";height:"+height+";background-color:"+bgColor),e(t).children(".outer-therm").children(".inner-therm").attr("style","background-color:"+barColor+";height:0;width:"+width),e(t).children(".outer-therm").children(".inner-therm").animate({height:total+"%"},animationSpeed)):(e(t).html('<div class="therm outer-therm"><div class="therm inner-therm"><span style="display:none;">'+total+"</span></div></div>"),e(t).children(".outer-therm").attr("style","width:"+width+";height:"+height+";background-color:"+bgColor),e(t).children(".outer-therm").children(".inner-therm").attr("style","background-color:"+barColor+";height:"+height+";width:0"),e(t).children(".outer-therm").children(".inner-therm").animate({width:total+"%"},animationSpeed)),displayTotal){var i=parseInt(height),n=i/2-13+"px 10px";"horizontal"!=orientation&&(n="10px 0"),e(t).children(".outer-therm").children(".inner-therm").children().show(),e(t).children(".outer-therm").children(".inner-therm").children().css("padding",n),e({Counter:0}).animate({Counter:e(t).children(".outer-therm").children(".inner-therm").children().text()},{duration:counterSpeed,easing:"swing",step:function(){e(t).children(".outer-therm").children(".inner-therm").children().text(Math.ceil(this.Counter)+"%")}})}e(t).append("<style>.therm{height:30px;border-radius:5px;}.outer-therm{margin:20px 0;}.inner-therm span {color: #fff;display: inline-block;float: right;font-family: Trebuchet MS;font-size: 20px;font-weight: bold;}.vertical.inner-therm span{width:100%;text-align:center;}.vertical.outer-therm{position:relative;}.vertical.inner-therm{position:absolute;bottom:0;}</style>")},e.jQMeter.defaults={width:"100%",height:"50px",bgColor:"#444",barColor:"#bfd255",orientation:"horizontal",animationSpeed:2e3,counterSpeed:2e3,displayTotal:!0}}(jQuery);

 

三、初始化插件和给予参数

    假设当前需要总长度为1000,给当前进度也为1000,而进度条动画时间给5000ms,这样进度条从0到100%需要加载5秒,而进度条计数时间给6000ms,让进度条计数有稍微延迟完成的感觉。

<script>
    $(document).ready(function(){
        $('#jqmeter-container').jQMeter();
    });
    $('#jqmeter-container').jQMeter({
        goal:'1000',//进度条总长度(指的是进度),必须的参数
        raised:'1000',//进度条当前进度,必须的参数
        width:'200px',//显示的进度条的宽度
        height:'50px',//显示的进度条的宽度
        animationSpeed:5000,//进度条动画的时间
        counterSpeed:6000,//进度条计数的时间'
    });
</script>

 

四、更多参数

参数类型默认值 描述
goalstring    无默认值,必填参数进度条的总长度。可以设置为字符串如"$9000",或整数如:"9000"
raisedstring无默认值,必填参数 进度条的当前进度。可以设置为字符串,如"$5000",或整数,如:"5000"
widthstring100%-水平宽度设置进度条的水平宽度。可以设置为百分比或像素值
height string50px设置进度条的垂直高度。可以设置为百分比或像素值
bgColorstring#666进度条的背景颜色。支持hex、rgba和颜色关键字
barColorstring #c0c0c0 进度条的颜色。支持hex、rgba和颜色关键字
orientation stringhorizontal可设置为: 'horizontal' 或 'vertical'。如果设置为垂直进度条,该参数必须设置
displayTotalbooleantrue  是否显示进度条完成的百分比数
animationSpeed integer2000 进度条动画时间,单位毫秒
counterSpeed integer2000 进度条计数的时间,单位毫秒

 

dodo:查询,整理,总结,拉取资源不易,有帮助或解释烦请关注,点赞支持!!! 

 类似资料: