基于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 相关文章推荐
JS 自定义带默认值的函数
Jul 21 Javascript
jquery 图片缩放拖动的简单实例
Jan 08 Javascript
javascript的事件触发器介绍的实现
Jun 05 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
Sep 01 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 Javascript
微信小程序 animation API详解及实例代码
Oct 08 Javascript
Validform表单验证总结篇
Oct 31 Javascript
AngularJS自定义插件实现网站用户引导功能示例
Nov 07 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
Sep 18 Javascript
深入理解es6块级作用域的使用
Mar 28 Javascript
uniapp实现可以左右滑动导航栏
Oct 21 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清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
webpack构建的详细流程探底
2018/01/08 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
公司委托书范本
2014/04/04 职场文书
爱之链教学反思
2014/04/30 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
写给老师的保证书
2015/05/09 职场文书
公司档案管理制度
2015/08/05 职场文书
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android