基于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 相关文章推荐
使用onbeforeunload属性后的副作用
Mar 08 Javascript
img标签中onerror用法
Aug 13 Javascript
javascript中expression的用法整理
May 13 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
Jan 17 Javascript
微信小程序商品到详情的实现
Jun 27 Javascript
React-Native中props具体使用详解
Sep 04 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
Mar 15 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
Nov 15 Javascript
layui 弹出层值回传解决方式
Nov 14 Javascript
vue 开发企业微信整合案例分析
Dec 02 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
Feb 06 Javascript
TypeScript魔法堂之枚举的超实用手册
Oct 29 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自动给网址加上链接的方法
2015/06/02 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
js loading加载效果实现代码
2009/11/24 Javascript
javascript cookies操作集合
2010/04/12 Javascript
写js时遇到的一些小问题
2010/12/06 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
JS实现的颜色实时渐变效果完整实例
2016/03/25 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
python基础教程之元组操作使用详解
2014/03/25 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
python编写分类决策树的代码
2017/12/21 Python
Anaconda入门使用总结
2018/04/05 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
python支持多线程的爬虫实例
2019/12/21 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
产假请假条
2014/04/10 职场文书
2014年小学工作总结
2014/11/26 职场文书
先进个人申报材料
2014/12/30 职场文书
面试通知单大全
2015/04/20 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS