基于jQuery实现网页进度显示插件


Posted in Javascript onMarch 04, 2015

相信大家都见过类似的网站功能,这种形式的进度显示可以很方便的让用户去理解和操作,

以下是插件的测试截图 ,提供了两个皮肤

基于jQuery实现网页进度显示插件

基于jQuery实现网页进度显示插件

基于jQuery实现网页进度显示插件

使用js编写 可以灵活的生成进度条 方便进对一些工作进度进行图形显示

1、简单的调用

//所有步骤的数据
var stepListJson=[{StepNum:1,StepText:“第一步”},
{StepNum:2,StepText:"第二步"},
{StepNum:3,StepText:"第三步"},
{StepNum:4,StepText:"第四步"},
{StepNum:5,StepText:"第五步"},
{StepNum:6,StepText:"第六步"},
{StepNum:7,StepText:"第七步"}];

//当前进行到第几步
var currentStep=5;
//new一个工具类
var StepTool = new Step_Tool_dc(“test”,“mycall”);
//使用工具对页面绘制相关流程步骤图形显示
StepTool.drawStep(currentStep,stepListJson);
//回调函数
function mycall(restult){
// alert(“mycall”+result.value+“:“+result.text);
StepTool.drawStep(result.value,stepListJson);
//TODO…这里可以填充点击步骤的后加载相对应数据的代码
}

2、自定义皮肤修改

插件提供了两套皮肤科共选择如果不能满足您的要求,则自己编写CSS代码即可

html代码

<title>无标题文档</title>

<!--<link rel="stylesheet" href="css/step-dc-style1.css" />-->

<link rel="stylesheet" href="css/step-dc-style1.css" />

<script type="text/javascript" src="./step-jquery-dc.js"></script>

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

</head>

<body>

<div class="step_context test">

</div>

当前步骤:第<input type="text"  value="5" id="currentStepVal" />步 <button onclick="StepTool.drawStep(jQuery('#currentStepVal').val(),stepListJson);" type="button">重新生成</button>

</body>

</html>

<script>

    //所有步骤的数据

    var stepListJson=[{StepNum:1,StepText:"第一步"},

    {StepNum:2,StepText:"第二步"},

    {StepNum:3,StepText:"第三步"},

    {StepNum:4,StepText:"第四步"},

    {StepNum:5,StepText:"第五步"},

    {StepNum:6,StepText:"第六步"},

    {StepNum:7,StepText:"第七步"}];

    //当前进行到第几步

    var currentStep=5;

//new一个工具类

var StepTool = new Step_Tool_dc("test","mycall");

//使用工具对页面绘制相关流程步骤图形显示

StepTool.drawStep(currentStep,stepListJson);

//回调函数

function mycall(restult){

//  alert("mycall"+result.value+":"+result.text);

    StepTool.drawStep(result.value,stepListJson);

    //TODO...这里可以填充点击步骤的后加载相对应数据的代码

}

</script>

javascript代码

/**

 * @auther DangChengcheng 请保留作者

 * @mailTo dc2002007@163.com

 */

var Step_Tool_dc =function(ClassName,callFun){

    this.ClassName=ClassName,

    this.callFun=callFun,

    this.Steps = new Array(),

    this.stepAllHtml="";

}

Step_Tool_dc.prototype={

    /**

     * 绘制到目标位置

     */

     createStepArray:function(currStep,stepListJson){

        this.currStep=currStep;

            for (var i=0; i<stepListJson.length;i++){

            var  Step_Obj =new Step( this.currStep,stepListJson[i].StepNum,stepListJson[i].StepText,stepListJson.length);

                Step_Obj.createStepHtml();

                this.Steps.push(Step_Obj);

            }

        },

    drawStep:function(currStep,stepListJson){

        this.clear();

        this.createStepArray(currStep,stepListJson);

        if(this.Steps.length>0){

        this.stepAllHtml+="<ul>";

        for (var i=0; i<this.Steps.length;i++){

            this.stepAllHtml+=this.Steps[i].htmlCode;

        }

        this.stepAllHtml+="</ul>";

        jQuery("."+this.ClassName).html(this.stepAllHtml);

            this.createEvent();

         } else{

            jQuery("."+this.ClassName).html("没有任何步骤");

        }

    },createEvent:function(){

        var self=this;

        jQuery("."+this.ClassName+" ul li a").click(function(){

            var num=jQuery(this).attr("data-value");

            var text=jQuery(this).attr("data-text");

            result={value:num,text:text} ;

            eval(self.callFun+"(result)");

        });

    }

    ,clear:function(){

        this.Steps=new Array();

        jQuery("."+this.ClassName).html("");

        this.stepAllHtml="";

    }

}

var Step=function(currStep,StepNum,StepText,totalCount){

        this.currStep=currStep,

        this.StepNum=StepNum ,

        this.StepText=StepText,

        this.totalCount=totalCount,

        this.htmlCode="";

}

Step.prototype={

    createStepHtml:function(){

         var stepHtml="\<span\>"+this.StepNum+"\</span\>";

        stepHtml=stepHtml+"\<a href=\"#\"    data-value=\""+this.StepNum+"\" data-text=\""+this.StepText+"\" \>"+this.StepText+"\</a\>";

        if(this.currStep>this.totalCount){

            this.currStep=this.totalCount;

        }else if(this.currStep<=0){this.currStep=1;}

        if(this.currStep>this.StepNum&&this.StepNum==1){

            classSype="firstFinshStep";

        } else if(this.currStep==this.StepNum&&this.StepNum==1){

            classSype="firstFinshStep_curr1";

        }

       else if(this.currStep==this.StepNum&&this.currStep!=this.totalCount){//当前步骤,下一个未进行,并且不是最后一个

            classSype="coressStep";

        }else  if(this.currStep==this.StepNum&&this.StepNum==this.totalCount){//当前步骤 并且是最后一步

            classSype="finshlast";

        }else if(this.currStep<this.StepNum&&this.StepNum==this.totalCount){//未进行步骤,并且是最后一个

            classSype="last";

        } else if(this.currStep<this.StepNum){//未进行的步骤

            classSype="loadStep";

        } else if(this.currStep>this.StepNum){//已进行的步骤

            classSype="finshStep";

        }

        stepHtml="\<li class=\""+classSype+"\"\>"+stepHtml+"\</a\>";

        this.htmlCode=stepHtml;

    }

}

附上源码下载 http://xiazai.3water.com/201503/yuanma/step-jquery-dc(3water.com).rar

以上就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
Dec 02 Javascript
jquery zTree异步加载简单实例分享
Feb 05 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
Jan 27 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
Apr 08 Javascript
javascript实现字符串反转的方法
Feb 05 Javascript
jquery validate表单验证插件
Sep 06 Javascript
JavaScript实现简单的文本逐字打印效果示例
Apr 12 Javascript
纯JS实现可用于页码更换的飞页特效示例
May 21 Javascript
Vue项目history模式下微信分享爬坑总结
Mar 29 Javascript
vue缓存的keepalive页面刷新数据的方法
Apr 23 Javascript
selenium+java中用js来完成日期的修改
Oct 31 Javascript
如何用threejs实现实时多边形折射
May 07 Javascript
基于jQuery实现仿淘宝套餐选择插件
Mar 04 #Javascript
js实现类似于add(1)(2)(3)调用方式的方法
Mar 04 #Javascript
jquery 插件实现多行文本框[textarea]自动高度
Mar 04 #Javascript
JavaScript常用脚本汇总(三)
Mar 04 #Javascript
JavaScript常用脚本汇总(二)
Mar 04 #Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
Mar 04 #Javascript
JavaScript常用脚本汇总(一)
Mar 04 #Javascript
You might like
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
玩转方法:call和apply
2014/05/08 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
AngularJS中的作用域实例分析
2018/05/16 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
Python中字典的基础知识归纳小结
2015/08/19 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
Python的垃圾回收机制详解
2019/08/28 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
医院实习接收函
2014/01/12 职场文书
大学生志愿者感言
2014/01/15 职场文书
营销总经理岗位职责
2014/02/02 职场文书
2015年酒店工作总结
2015/04/28 职场文书