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 --- 持续更新

    东转西转 git 1 git 使用 1.1 git 安装 ~$: sudo apt-get install git 1.2 git 初始化 ~$: git init ~$: git remote ad ...

  2. Troubleshooting 10g and 11.1 Clusterware Reboots (文档 ID 265769.1)

    Troubleshooting 10g and 11.1 Clusterware Reboots (文档 ID 265769.1) This document is intended for DBA' ...

  3. [HTML]HTML隐藏文本框的四种方式

    .<input type="hidden" value=""></input>对所有的文本框都起作用(隐藏域,多用于存数据) .< ...

  4. Apache的ServerAlias的作用

    今天在php的集成环境laragon上添加了一个虚拟主机,域名为:whathell.com 突然想在前面加个www. 一种做法是在auto.whathell.com文件中添加如下内容: <Vir ...

  5. mysql双机热备的实现

    转:http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好 ...

  6. win 10 在vs2017下对mpi的安装以及认识

    这里我先对MPI进行一下简单的介绍,MPI的全称是Message Passing Interface,即消息传递接口. 它并不是一门语言,而是一个库,我们可以用Fortran.C.C++结合MPI提供 ...

  7. 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践

    2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...

  8. 用ASP.NET_Regsql.exe创建Session数据库

    CMD: C:\Users\ZhangSC>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe -S ZhangS ...

  9. 分布式 基本理论 BASE

    比起CAP的生硬来, 我更加喜欢BASE.BASE 显得更加好理解.尽管BASE 这个名字本身有迎合语言习惯的恶臭味,为什么不是缩写为 BaSsEc 呢? 其实大部分系统是可以 同时 CAP 的, 因 ...

  10. gp工具的许可

    还是要在代码里许可 static class Program { [STAThread] static void Main() { ESRI.ArcGIS.RuntimeManager.Bind(ES ...