基于jQuery实现网页进度显示插件
来源: 阅读:1590 次 日期:2015-03-11 15:39:17
温馨提示: 小编为您整理了“基于jQuery实现网页进度显示插件”,方便广大网友查阅!

这篇文章主要介绍了基于jQuery实现网页进度显示插件的实现方法以及源码下载,十分的详细,并自带2种皮肤,这里推荐给小伙伴们。

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

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

名单

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

进度展示插件皮肤1

进度展示插件皮肤2

使用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

*/

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;

}

}

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

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map