进度条插件

好久没来这里了。。记录下 最近整理的 一个小插件。并没有按照jquery 插件的模式来做。

以下是代码。就不详解了。逻辑很简单。有啥不明白的可以留言。

function loadCon (opts) {
    var count = 1,
        initTime = 800, //ms
        finishCount = 0, //totalCount = 100
        perPercent = 0,
        perTime = 0,
        $count = null,
        $pie1 = null,
        $pie2 = null,
        limitCount = 0,
        percentVal = 1,
        timer = null;

    var loadHtml = ‘<div class="overlayLoadPPt">‘+
                   ‘    <div class="pie pie1" style="transform: rotate(0deg);"></div><div class="pie pie2" style="transform: rotate(-180deg);"></div>‘+
                   ‘    <div class="covert"><p class="count"></p> </div>‘+
                   //‘    <div class="covert"><img src="../img/loadingBG.png" style="width: 100%;"> </div>‘
                   ‘</div>‘;
    function buildHtml() {
        var $overlayLoadPPt = $(‘.overlayLoadPPt‘);
        $overlayLoadPPt.remove();
        $(loadHtml).prependTo(‘body‘);
        $count = $(‘.overlayLoadPPt .count‘);
        $pie1 = $(‘.overlayLoadPPt .pie1‘);
        $pie2 = $(‘.overlayLoadPPt .pie2‘);
        beginLoading();
    }

    function beginLoading() {
        var deg = parseInt(360/count);
        perTime = initTime/deg;
        limitCount = perPercent * percentVal;
        doTimer();
    }

    this.updateChanges = function (val) {
        if(val >= count) {
            limitCount = 100;
        }
        else {
            percentVal = val;
            limitCount = perPercent * percentVal;
        }
    };
    this.finishLoad = function () {
        perPercent = count;
        limitCount = 100;
    };

    function doTimer() {
        timer = setTimeout(function () {
            clearTimeout(timer);
            timer = null;
            if(finishCount <= limitCount) {
                finishCount++;
                $count.html(finishCount+‘%‘);
                if(finishCount != 50) {
                    $pie1.css(‘transform‘,‘rotate(‘+(finishCount*3.6+180)+‘deg)‘);
                }
                else {
                    $pie2.css({‘background‘:‘#2e7418‘,‘width‘:‘160px‘,‘height‘:‘160px‘,‘transform‘:‘rotate(0deg)‘});
                    $pie1.css(‘transform‘,‘rotate(360deg)‘);
                }
            }

            if(finishCount >= 100) {
                clearTimeout(timer);
                timer = null;
                $count = null;
                $pie1 = null;
                $pie2 = null;
            }
            else {
                doTimer();
            }
        },perTime);
    }

    function init() {
        count = opts.count;
        initTime = opts.initTime ? opts.initTime : initTime;
        perPercent = parseInt(100/count);
        buildHtml();
    }

    init();
};
loadCon.prototype = {
    setPecent: function (val) {
        this.updateChanges(val);
    },
    setEnd: function () {
        this.finishLoad();
    }
};

  这个是js部分。以下是CSS部分

.overlayLoadPPt {
            position: absolute;
            top:0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 9999999;
            background: #FFF;
            opacity: 1;
        }
        .pie {
            position: absolute;
            width: 160px;
            height: 160px;
            border-radius: 150px;
            background: #2e7418;
            clip: rect(0px,80px,160px,0px);
            left: 50%;
            top: 30%;
            margin: -80px;
        }
        .pie2 {
            z-index: 9999;
            background: #FFF;
            width: 161px;
            height: 161px;
        }
        .pie1 {
            z-index: 999;
        }
        .count {
            position: absolute;
            top: 65%;
            text-align: center;
            width: 100%;
            color: #FFF;
        }
        .covert {
            background: #57b243; position: absolute;z-index: 999999;
            width: 150px; height: 150px; border-radius: 340px; left: 50%; top: 30%; margin: -75px; overflow: hidden;
        }

  

调用也很简单。确保引入jquery。版本 应该还好。用最新的就好了

var load = new loadCon({count:5});
count:就是当前进度条分成几段来加载。
方法:setPecent
改变状态
load.setPecent(3)

setEnd
告诉插件可以结束了

  

时间: 2024-10-17 10:34:13

进度条插件的相关文章

Html5添加SVG的轻量级jQuery进度条插件教程

一.使用方法 使用该jQuery进度条插件需要引入jQuery和jquery.progress.js文件. <script src="js/jquery.min.js"></script> <script src="js/jquery.progress.js"></script> 二.Html结构 该jQuery进度条的HTML结构使用一个<svg>元素来制作. <svg id="conta

Jquery进度条插件 Progress Bar插件应用方法

搞的我小纠结了一会,最后感谢同事分享文章,得以结局,呵呵,小经验还是要保存的个人使用总结: <script type="text/ 网页特效" src="/Scripts/jquery-1.4.4.min.js"></script> <script type="text/javascript" src="/Scripts/Method/jquery.progressbar.min.js">&

一个Notification 进度条插件(android,NJS实现,直接就可使用)

参考文章:http://ask.dcloud.net.cn/article/503 源码地址下载 如题,分享一个Notification 进度条插件(android,用js调用原生api实现,直接就可以使用).参考1: http://ask.dcloud.net.cn/article/155参考2:http://ask.dcloud.net.cn/question/2464 详细介绍: 最近有一个需求是,android更新资源包时,需要在通知栏里显示下载进度条,于是就搜索了下已有的解决方案发现并

HTML5圆形百分比进度条插件circleChart(记录)

介绍:一款可以描绘圆圈进度条的jQuery插件(可用作统计图) circleChart使用方法 在页面中引入jquery和circleChart.min.js文件. <script src="path/to/jquery.min.js"></script> <script src="path/to/circleChart.min.js"></script> HTML结构 使用一个<div>元素作为该圆形百分

CSS3和js谷歌Material Design进度条插件

mprogress是一款使用纯JS和CSS3制作的谷歌Material Design样式的进度条插件.该插件没有依赖任何外部库.它可以制作4种类型的进度条动画,使用扁平化设计,非常时尚. 该进度条插件有4种类型的动画方式,分别是:确定型.缓冲型.不确定型和查询确定型. mprogress是移动设备优先的js插件,?所有类型的进度条都可以工作在Chrome 和 Firefox浏览器上.Determinate类型的进度条可以工作在所有浏览器上. 在线演示:http://www.htmleaf.com

jQuery简单实用的轻量级进度条插件

jQMeter是一款简单实用的轻量级进度条jQuery插件,它可以显示为水平或垂直进度条,进度条加载时带有动画特效,你只需要简单的传入一些参数到jQMeter对象的构造函数中就可以完成你想要的进度条效果. 该进度条插件的构造函数中允许你定义进度条的宽度.高度.背景色.进度条颜色等等参数,通过这些参数你可以构造自己的进度条样式. 效果演示:http://www.htmleaf.com/Demo/201504131672.html 下载地址:http://www.htmleaf.com/jQuery

jQuery彩色条纹进度条插件

这是一款效果非常炫酷时尚的jQuery彩色条纹进度条插件.该进度条插件可以定制多种颜色,并且可以定制是否显示进度条动画.进度条可以是彩带模式,也可以使纯色模式. 该jq进度条插件最大的特点是进度条进入视口时才开始产生动画,效果非常好. 该进度条jquery插件使用了Flat UI Color Scheme来生成进度条的配色方案.如果你使用的颜色的class没有被提供,将会显示为灰色. 在线演示:http://www.htmleaf.com/Demo/201502031322.html 下载地址:

基于Jquery的音乐播放器进度条插件

自己基于豆瓣FM的ui仿写qq音乐时,基于Jquery手写的进度条插件,效果图如下: 主要特色: ① 可自适应挂载元素的宽度,也可以自己设置进度条宽度: ② 支持部分默认参数修改(具体见使用说明): ③ 允许最大时间为23:59:59,高于此值将默认修改为此值: ④ 可以自己控制进度条动画的开关及重置: ⑤ 可以获取进度条当前时间和宽度,与H5的audio标签协调使用. 使用说明: /* * 功能描述:播放器进度条 * 参数: * option:挂载父元素 * inTime:进度条时间长度 *

简单的jquery进度条插件LineProgressbar.js

参考   http://www.lanrenzhijia.com/jquery/4121.html demo下载 <script src="js/jquery.lineProgressbar.js" type="text/javascript"></script> $(function(){ $('#progressbar1').LineProgressbar({ percentage: 50 }); $('#progressbar2').L

进度条插件使用demo

1.下载地址: http://down.htmleaf.com/1502/201502031710.zip 2.效果图: 3.HTML代码:其中80设置当前所占百分比,即蓝色部分比例:注意引入必须的js文件 <div class="pro-bar-container"> <div class="pro-bar" data-pro-bar-percent="80"></div> </div> <