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. [原创] JAVA 递归线程池测试 ExecutorService / ForkJoinPool

    测试工具使用递归的方式获取子进程的Msg消息,目前有2种常用的ExecutorService / ForkJoinPool 为了测试哪种效果较好,我们来写个测试Demo,循环5555555次+1(加锁 ...

  2. 如何检查tensorflow环境是否能正常调用GPU

    检查keras/tensorflow是否正常调用GPU代码 os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os. ...

  3. WordPress版微信小程序2.6版发布

    WordPress版微信小程序的完善和升级的工作一直都在进行中,我争取保证一个月可以出一个版本,希望通过一点点的改进,让这个开源产品日趋完美. 同时,pro版WordPress微信小程序也在紧锣密鼓的 ...

  4. Java进程&线程(一)

    Java进程&线程 程序:程序员写的代码,就是代码,不运行好像不会发生什么: 进程:一个进程可以理解为"运行的"一个程序,当我们启动一个java程序后,对应的jvm就会创建 ...

  5. MySQL面试试题与答案

    本次试题设计两个表:student.exam student表 exam表 一.写一条SQL语句,按学号排序输出数学成绩 SELECT s.sno sno,score FROM exam e,stud ...

  6. [转]Python 的列表解析式,集合解析式,字典解析式

    Python 的列表解析式,集合解析式,字典解析式 这三种都是 python 里面的语法糖. 语法糖,Syntactic Sugar,就是为了写程序时候少出错,发明的一些简便的方法,但不影响这个语法的 ...

  7. Shell:常用+好用命令

    1.#删除15天前的数据 find /usr/local/chen/backup/ -mtime +15 -exec rm -f {} \; 2.release=`echo $name | cut - ...

  8. nginx出现404和403错误

    配置文件的路径usr/local/nginx/conf/nginx.conf

  9. C++builder Tokyo 调用com 不正确的变量类型

    C++builder Tokyo 调用com 不正确的变量类型 tt.OleFunction("interface_call","MS01",&erro ...

  10. linux系统下常用的命令(吐血自己整理,且用且珍惜)

    1)linux命令太多,有时候记不起来是哪个,为了方便大家查询,自己吐血整理了以下这些,转载时请标明出处,珍惜原创成果 吐血自己整理,且用且珍惜) 吐血自己整理,且用且珍惜) 吐血自己整理,且用且珍惜 ...