JS代码:

 function SingleProgressBar() {
var iload = document.getElementById("iLoading");
var ibox = document.getElementById("iBox");
var nowtime = new Date(getNowFormatDate());
var deadtime = new Date($("[id$='txtDead']").val());
var inserttime = new Date($("[id$='txtInsert']").val());
var insert_now = Number(DateDiff("s", inserttime, nowtime).toString()); //发布日期 至 现在 的秒数
var insert_dead = Number(DateDiff("s", inserttime, deadtime).toString()); //发布日期 至 截止日期 的秒数
var rt = Math.round(insert_now / insert_dead * 100);
rt = (rt <= 100) ? rt : 100;
mySetInterval(iload, ibox, rt);
} function ProgressBar() { //进度条
var iload, ibox, nowtime, deadtime, inserttime, insert_now, insert_dead, rt;
var iloads = document.getElementsByName("iLoading");
var iboxs = document.getElementsByName("iBox");
//ie7用document.getElementsByName不能用
if (iloads.length <= 0) {
iloads = new Array();
var dloads = document.getElementsByTagName("div");
var j = 0;
for (var i = 0; i < dloads.length; i++) {
if (dloads[i].getAttribute("name") == "iLoading") {
iloads[j] = dloads[i];
j++;
}
}
}
if (iboxs.length <= 0) {
iboxs = new Array();
var dboxs = document.getElementsByTagName("div");
var j = 0;
for (var i = 0; i < dboxs.length; i++) {
if (dboxs[i].getAttribute("name") == "iBox") {
iboxs[j] = dboxs[i];
j++;
}
}
}
for (var i = 0; i < iboxs.length; i++) {
iload = iloads[i];
ibox = iboxs[i];
nowtime = new Date(getNowFormatDate()); //现在的时间 格式“2015/7/11 0:00:00”
deadtime = new Date($("input[name='txtDead']").eq(i).val());
inserttime = new Date($("input[name='txtInsert']").eq(i).val());
insert_now = Number(DateDiff("s", inserttime, nowtime).toString()); //发布日期 至 现在 的秒数
insert_dead = Number(DateDiff("s", inserttime, deadtime).toString()); //发布日期 至 截止日期 的秒数
rt = Math.round(insert_now / insert_dead * 100);
rt = (rt <= 100) ? rt : 100;
mySetInterval(iload, ibox, rt);
}
} //for循环内直接使用setInterval()时,由于setInterval()执行时间有延迟
//当setInterval()执行时,for循环已经运行完毕,setInterval()只执行了一次
/*如下:在循环的时候直接调用mySetInterval(),传入参数,再进行for循环
这样就保证了每次传入的值不会在延迟time(这里即1毫秒)后而变化*/
function mySetInterval(objload, objbox, r) {
var timer = setInterval(function() {
var iWidth = Math.round((objload.offsetWidth + 3) / objbox.offsetWidth * 100);
if (iWidth <= r) {
objload.style.width = objload.offsetWidth + 1 + 'px';
} else {
clearInterval(timer);
}
}, 1);
} //取现在的时间 格式:2015/7/10 0:00:00
function getNowFormatDate() {
var date = new Date();
var seperator1 = "/";
var seperator2 = ":";
var year = date.getFullYear();
var month = date.getMonth() + 1;
var strDate = date.getDate();
var currentdate = year + seperator1 + month + seperator1 + strDate + " " + date.getHours() + seperator2 + date.getMinutes() + seperator2 + date.getSeconds();
return currentdate;
} //js版DateDiff() 计算时间差
function DateDiff(interval, date1, date2) {
var time = date2.getTime() - date1.getTime(); //相差毫秒
switch (interval.toLowerCase()) {
case "y": //年
return parseInt(date2.getFullYear() - date1.getFullYear());
case "m": //月
return parseInt((date2.getFullYear() - date1.getFullYear()) * 12 + (date2.getMonth() - date1.getMonth()));
case "d": //日
return parseInt(time / 1000 / 60 / 60 / 24);
case "w": //星期
return parseInt(time / 1000 / 60 / 60 / 24 / 7);
case "h": //时
return parseInt(time / 1000 / 60 / 60);
case "n": //分
return parseInt(time / 1000 / 60);
case "s": //秒
return parseInt(time / 1000);
case "l": //毫秒
return parseInt(time);
}
}

前台:

 <div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DataList ID="DataList1" runat="server" RepeatColumns="4" RepeatDirection="Horizontal"
OnItemDataBound="DataList_DataBound">
<ItemTemplate>
<div id="tableList" runat="server" class="divBlock">
<input name="txtInsert" type="hidden" value='<%#Eval("InsertTime") %>'
/>
<input name="txtDead" type="hidden" value='<%#Eval("DeadLine") %>' />
<a href='<%# "ProjInfo.aspx?id="+Eval("strId")+"&index=2" %>' target="_blank">
<div class="divImg">
<img alt="" class="imgSize" src='<%# "../ProInfo/showImg/"+Eval("FiledName") %>'
/>
</div>
</a>
<div style=" text-align:left;">
<span class=" lblTitle cssOver">
<a class="cssOver" title='<%#Eval("ProgramsName")%>' target="_blank" href='<%# "ProjInfo.aspx?id="+Eval("strId")+"&index=2" %>'>
<%#Eval( "ProgramsName")%>
</a>
</span>
<table class="lblInfo">
<tr>
<th>
活动地点:
</th>
<td colspan="2">
<%#Eval( "CodeName") %>
<%#Eval( "TownName") %>
</td>
</tr>
<tr>
<th>
活动发起:
</th>
<td colspan="2">
<%#Eval( "Sponsor") %>
</td>
</tr>
<tr>
<th style="width: 60px;">
报名截止:
</th>
<td style="width: 100px;">
<div name="iBox" class="iBox">
<div name="iLoading" class="iLoading">
</div>
</div>
</td>
<td style="width: 40px;">
<span id="spTime" runat="server">
<%#Eval( "RemainTime") %>
</span>
</td>
</tr>
</table>
<img src="../skin/default/images/basic/xin.png" style="width: 15px; margin-left: 10px;"
alt="参与人数:" />
<span>
<%#Eval( "People") %>
/
<%#Eval( "Population")%>
</span>
<img src="../skin/default/images/basic/erji.png" alt="浏览次数" style="width: 15px; margin-left: 10px;"
/>
<span>
<%#Eval( "Population")%>
</span>
</div>
</div>
</ItemTemplate>
</asp:DataList>
<div id="dEmpty" runat="server" visible="false" style="clear: both; text-align: center;
height: 30px; line-height: 30px;">
暂无数据
</div>
<table cellpadding="0" cellspacing="0" align="center" width="100%" class="border">
<tr>
<td align="center" colspan="2">
<webdiyer:AspNetPager ID="pager" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb"
FirstLastButtonsClass="flb" AlwaysShow="true" PrevNextButtonsClass="pnb"
                             OnPageChanged="pager_PageChanged" PageSize="16"
FirstPageText="首页" LastPageText="末页" NextPageText=">" PrevPageText="<">
</webdiyer:AspNetPager>
</td>
</tr>
</table>
<input id="btnSearch" runat="server" type="submit" onserverclick="btnSearch_OnClick"
style="display: none;" />
</ContentTemplate>
</asp:UpdatePanel>
</div>

其实当初进度条只要设个宽就行了,不需要增长效果,刚入门不知道怎么实现

JavaScript进度条(datalist/repeater等多个进度条)的更多相关文章

  1. 【转】通用分页用户控件(DataGrid,DataList,Repeater都可以用它来分页)

    通用分页控件(DataGrid,DataList,Repeater都可以用它来分页) 1.建立用户控件Pager.ascx 1.1 html </ASP:LABEL></TD> ...

  2. sql 查询某个条件多条数据中最新的一条数据或最老的一条数据

    sql 查询某个条件下多条数据中最新的一条数据或最老的一条数据 test_user表结构如下: 需求:查询李四.王五.李二创建的最初时间或者最新时间 1:查询最初的创建时间: SELECT * FRO ...

  3. 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?如何获取当前数据库版本?

    一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几? 一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysq ...

  4. Android 电池电量进度条,上下滚动图片的进度条(battery)

    最近,制作一个app,需要模拟一个电池电量的进度条,根据电量多少来设置百分比,进度条不断上下滚动,就像平时手机充电一样的电池电量进度条.我就自定义view实现了电量进度条.修改图片就可以达到自己想要的 ...

  5. H5 可堆叠的圆环进度条,支持任意数量子进度条

    by Conmajia SN: S22-W1M 由来 看到一篇帖子<vue实用组件--圆环百分比进度条>,让我想起了很多年前我在WinForm下仿制过的Chrome进度条. ▲ 原版进度条 ...

  6. Java web实时进度条整个系统共用(如java上传、下载进度条、导入、导出excel进度条等)

    先上图: 文件上传的: 2017-05-04再次改进.在上传过程中用户可以按 Esc 来取消上传(取消当前上传,或者是全部上传)... 2019-03-26更新进度条显示体验 从服务器上压缩下载: 从 ...

  7. 甩掉DataList,Repeater,列表数据显示得灵活--转

    在WebForm 显示列表数据我们一般使用服务器控件Repeater.DataList或者GridView ,功强大能,使用简单.但同时也是有代价的, 一:不管你用哪个控件都需要牺牲一些额外的性能,因 ...

  8. wpf slider进度条的样式模板,带有进度颜色显示

    效果图: 仅仅需在前台加上这段代码就可以: <UserControl.Resources> <!--笔刷--> <LinearGradientBrush x:Key=&q ...

  9. [golang]golang如何覆盖输出console,实现进度条;golang一个骚气的进度提示库

    [golang]golang如何覆盖输出console,实现进度条 package main import( "fmt" "os" "time&quo ...

随机推荐

  1. git中加入中文时,乱码

    原因:编码问题,可以看到txt转为为ANSI编码 ---->将编码方式改为UTF-8即可

  2. 公司-半导体:Micron

    ylbtech-公司-半导体:Micron 美光科技有限公司(Micron Technology, Inc.)是高级半导体解决方案的全球领先供应商之一.通过全球化的运营,美光公司制造并向市场推出DRA ...

  3. Oracle 巡检命令

    [grid@XXXXX ~]$ asmcmd -pASMCMD [+] > lsdg

  4. 20175236 2018-2019-2 《Java程序设计》第五周学习总结

    教材学习内容总结 接口回调 1.接口属于引用型变量,可以存放实现该接口类的实例的引用,即存放对象的引用. 2.接口回调理解上跟对象的上转型对象差不多. 理解接口 接口可以抽象出重要的行为标准. 接口多 ...

  5. 20175311 2018-2019-2 《Java程序设计》第五周学习总结

    20175311 2018-2019-2 <Java程序设计>第5周学习总结 教材学习内容总结 抽象类和具体类的区别在于抽象类中有抽象方法而具体类中没有.且抽象类不能实例化. 接口:如果一 ...

  6. 基于STM8的GPIO操作---STM8-第一章

    1. 综诉 也许单片机在你看来是一件不太容易的事,但据我所知,单片机,无非就是控制它的GPIO口,所以可以看出,学会如何操作控制GPIO口对使用单片机来说是很重要的一件事. 在装载STM8的单片机中, ...

  7. 2018-2019-2 20165312《网络攻防技术》Exp3 免杀原理与实践

    2018-2019-2 20165312<网络攻防技术>Exp3 免杀原理与实践 课上知识点总结 1.恶意软件检测机制 基于特征码的检测(需要定期更新病毒库) 启发式恶意软件检测(实时监控 ...

  8. Redis集群搭建-韩国庆

    认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...

  9. flink入门:01 构建简单运行程序

    1. mac平台安装flink(默认最新版) brew install apache-flink 安装结果: Version 1.7.1, commit ID: 89eafb4 2. jdk版本,我尝 ...

  10. HTML基础篇

    由于一些原因,要换工作了,毫无准备,心情郁闷了几天.但是还是更新了简历,准备复习面试.面 了3天.面试中问到了一些问题,想好好整理一下.越是大公司越看重基础.这几天遇到的面试题,有15到简答题,有两页 ...