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. (最详细)小米Note 2的usb调试模式在哪里开启的教程

    当我们使用安卓手机链接Pc的时候,或者使用的有些工具比如我们学院营销团队当使用的工具引号精灵,之前使用的老版本就需要开启USB开发者调试模式下使用,现当新版本不需要了,如果手机没有开启USB开发者调试 ...

  2. 理解OpenShift(7):基于 Prometheus 的集群监控

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  3. selenium 添加动态隧道代理

    # 无须密码验证方法 chromeOptions = webdriver.ChromeOptions() chromeOptions.add_argument('--proxy-server=http ...

  4. python模拟大数据登陆

    #针对tableu 撰写的大数据框架 #tesseract 识别简单的验证码 不多说  直接上代码 # coding:utf-8 from selenium import webdriver from ...

  5. 20175311胡济栋 2018-2019-2《Java程序设计》结对编程项目-四则运算 第二周 阶段性总结

    20175311胡济栋 2018-2019-2<Java程序设计>结对编程项目-四则运算 第二周 阶段性总结 需求分析 这是利用栈来设计一个计算器的第二阶段总结. 自动生成四则运算的题目( ...

  6. 怎么安装Scrapy框架以及安装时出现的一系列错误(win7 64位 python3 pycharm)

    因为要学习爬虫,就打算安装Scrapy框架,以下是我安装该模块的步骤,适合于刚入门的小白: 一.打开pycharm,依次点击File---->setting---->Project---- ...

  7. JID介绍

    JID: 一个XMPP实体的地址称为Jabber Identifier或JID,作用类似于IP地址.一个合法的JID包括节点名,域名资源名,其格式为:jid=[node'@']domain['/'re ...

  8. 数据帧、MTU、MSS、IP分片

    1.以太网帧 在以太网链路上的数据包称作以太帧,在802.3标准里,规定了一个以太帧的数据部分(Payload)的最大长度是1500个字节(MTU),再加上14字节链路头和4字节的FCS,所以以太网帧 ...

  9. OO第三次博客

    规格化设计的发展历史 在计算机的早期发展中,软件开发没有可以遵循的系统方法,往往只有源代码而没有软件说明书等文档,因此这段时期的软件通用性时很有限的.后来到了20世纪60年代,软件开始被广泛使用,软件 ...

  10. Linux系统的RAID磁盘阵列

    RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便宜的磁盘,以硬件( ...