JavaScript进度条(datalist/repeater等多个进度条)

JS代码:

  1 function SingleProgressBar() {
  2     var iload = document.getElementById("iLoading");
  3     var ibox = document.getElementById("iBox");
  4     var nowtime = new Date(getNowFormatDate());
  5     var deadtime = new Date($("[id$=‘txtDead‘]").val());
  6     var inserttime = new Date($("[id$=‘txtInsert‘]").val());
  7     var insert_now = Number(DateDiff("s", inserttime, nowtime).toString()); //发布日期 至 现在 的秒数
  8     var insert_dead = Number(DateDiff("s", inserttime, deadtime).toString()); //发布日期 至 截止日期 的秒数
  9     var rt = Math.round(insert_now / insert_dead * 100);
 10     rt = (rt <= 100) ? rt : 100;
 11     mySetInterval(iload, ibox, rt);
 12 }
 13
 14
 15 function ProgressBar() { //进度条
 16     var iload, ibox, nowtime, deadtime, inserttime, insert_now, insert_dead, rt;
 17     var iloads = document.getElementsByName("iLoading");
 18     var iboxs = document.getElementsByName("iBox");
 19     //ie7用document.getElementsByName不能用
 20     if (iloads.length <= 0) {
 21         iloads = new Array();
 22         var dloads = document.getElementsByTagName("div");
 23         var j = 0;
 24         for (var i = 0; i < dloads.length; i++) {
 25             if (dloads[i].getAttribute("name") == "iLoading") {
 26                 iloads[j] = dloads[i];
 27                 j++;
 28             }
 29         }
 30     }
 31     if (iboxs.length <= 0) {
 32         iboxs = new Array();
 33         var dboxs = document.getElementsByTagName("div");
 34         var j = 0;
 35         for (var i = 0; i < dboxs.length; i++) {
 36             if (dboxs[i].getAttribute("name") == "iBox") {
 37                 iboxs[j] = dboxs[i];
 38                 j++;
 39             }
 40         }
 41     }
 42     for (var i = 0; i < iboxs.length; i++) {
 43         iload = iloads[i];
 44         ibox = iboxs[i];
 45         nowtime = new Date(getNowFormatDate()); //现在的时间 格式“2015/7/11 0:00:00”
 46         deadtime = new Date($("input[name=‘txtDead‘]").eq(i).val());
 47         inserttime = new Date($("input[name=‘txtInsert‘]").eq(i).val());
 48         insert_now = Number(DateDiff("s", inserttime, nowtime).toString()); //发布日期 至 现在 的秒数
 49         insert_dead = Number(DateDiff("s", inserttime, deadtime).toString()); //发布日期 至 截止日期 的秒数
 50         rt = Math.round(insert_now / insert_dead * 100);
 51         rt = (rt <= 100) ? rt : 100;
 52         mySetInterval(iload, ibox, rt);
 53     }
 54 }
 55
 56 //for循环内直接使用setInterval()时,由于setInterval()执行时间有延迟
 57 //当setInterval()执行时,for循环已经运行完毕,setInterval()只执行了一次
 58 /*如下:在循环的时候直接调用mySetInterval(),传入参数,再进行for循环
 59 这样就保证了每次传入的值不会在延迟time(这里即1毫秒)后而变化*/
 60 function mySetInterval(objload, objbox, r) {
 61     var timer = setInterval(function() {
 62         var iWidth = Math.round((objload.offsetWidth + 3) / objbox.offsetWidth * 100);
 63         if (iWidth <= r) {
 64             objload.style.width = objload.offsetWidth + 1 + ‘px‘;
 65         } else {
 66             clearInterval(timer);
 67         }
 68     }, 1);
 69 }
 70
 71 //取现在的时间 格式:2015/7/10 0:00:00
 72 function getNowFormatDate() {
 73     var date = new Date();
 74     var seperator1 = "/";
 75     var seperator2 = ":";
 76     var year = date.getFullYear();
 77     var month = date.getMonth() + 1;
 78     var strDate = date.getDate();
 79     var currentdate = year + seperator1 + month + seperator1 + strDate + " " + date.getHours() + seperator2 + date.getMinutes() + seperator2 + date.getSeconds();
 80     return currentdate;
 81 }
 82
 83 //js版DateDiff()  计算时间差
 84 function DateDiff(interval, date1, date2) {
 85     var time = date2.getTime() - date1.getTime(); //相差毫秒
 86     switch (interval.toLowerCase()) {
 87         case "y": //年
 88             return parseInt(date2.getFullYear() - date1.getFullYear());
 89         case "m": //月
 90             return parseInt((date2.getFullYear() - date1.getFullYear()) * 12 + (date2.getMonth() - date1.getMonth()));
 91         case "d": //日
 92             return parseInt(time / 1000 / 60 / 60 / 24);
 93         case "w": //星期
 94             return parseInt(time / 1000 / 60 / 60 / 24 / 7);
 95         case "h": //时
 96             return parseInt(time / 1000 / 60 / 60);
 97         case "n": //分
 98             return parseInt(time / 1000 / 60);
 99         case "s": //秒
100             return parseInt(time / 1000);
101         case "l": //毫秒
102             return parseInt(time);
103     }
104 }

前台:

 1                 <div>
 2                     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
 3                         <ContentTemplate>
 4                             <asp:DataList ID="DataList1" runat="server" RepeatColumns="4" RepeatDirection="Horizontal"
 5                                 OnItemDataBound="DataList_DataBound">
 6                                 <ItemTemplate>
 7                                     <div id="tableList" runat="server" class="divBlock">
 8                                         <input name="txtInsert" type="hidden" value=‘<%#Eval("InsertTime") %>‘ />
 9                                         <input name="txtDead" type="hidden" value=‘<%#Eval("DeadLine") %>‘ />
10                                         <a href=‘<%# "ProjInfo.aspx?id="+Eval("strId")+"&index=2" %>‘ target="_blank">
11                                             <div class="divImg">
12                                                 <img alt="" class="imgSize" src=‘<%# "../ProInfo/showImg/"+Eval("FiledName") %>‘ />
13                                             </div>
14                                         </a>
15                                         <div style=" text-align:left;">
16                                             <span class=" lblTitle cssOver"><a class="cssOver" title=‘<%#Eval("ProgramsName")%>‘
17                                                 target="_blank" href=‘<%# "ProjInfo.aspx?id="+Eval("strId")+"&index=2" %>‘>
18                                                 <%#Eval("ProgramsName")%>
19                                             </a></span>
20                                             <table class="lblInfo">
21                                                 <tr>
22                                                     <th>
23                                                         活动地点:
24                                                     </th>
25                                                     <td colspan="2">
26                                                         <%#Eval("CodeName") %><%#Eval("TownName") %>
27                                                     </td>
28                                                 </tr>
29                                                 <tr>
30                                                     <th>
31                                                         活动发起:
32                                                     </th>
33                                                     <td colspan="2">
34                                                         <%#Eval("Sponsor") %>
35                                                     </td>
36                                                 </tr>
37                                                 <tr>
38                                                     <th style="width: 60px;">
39                                                         报名截止:
40                                                     </th>
41                                                     <td style="width: 100px;">
42                                                         <div name="iBox" class="iBox">
43                                                             <div name="iLoading" class="iLoading">
44                                                             </div>
45                                                         </div>
46                                                     </td>
47                                                     <td style="width: 40px;">
48                                                         <span id="spTime" runat="server">
49                                                             <%#Eval("RemainTime") %></span>
50                                                     </td>
51                                                 </tr>
52                                             </table>
53                                             <img src="../skin/default/images/basic/xin.png" style="width: 15px; margin-left: 10px;"
54                                                 alt="参与人数:" />
55                                             <span>
56                                                 <%#Eval("People") %>/<%#Eval("Population")%></span><img src="../skin/default/images/basic/erji.png"
57                                                     alt="浏览次数" style="width: 15px; margin-left: 10px;" /><span><%#Eval("Population")%></span></div>
58                                     </div>
59                                 </ItemTemplate>
60                             </asp:DataList>
61                             <div id="dEmpty" runat="server" visible="false" style="clear: both; text-align: center;
62                                 height: 30px; line-height: 30px;">
63                                 暂无数据
64                             </div>
65                             <table cellpadding="0" cellspacing="0" align="center" width="100%" class="border">
66                                 <tr>
67                                     <td align="center" colspan="2">
68                                         <webdiyer:AspNetPager ID="pager" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb"
69                                             FirstLastButtonsClass="flb" AlwaysShow="true" PrevNextButtonsClass="pnb"                              OnPageChanged="pager_PageChanged"
70                                             PageSize="16" FirstPageText="首页" LastPageText="末页" NextPageText=">" PrevPageText="<">
71                                         </webdiyer:AspNetPager>
72                                     </td>
73                                 </tr>
74                             </table>
75                             <input id="btnSearch" runat="server" type="submit" onserverclick="btnSearch_OnClick"
76                                 style="display: none;" />
77                         </ContentTemplate>
78                     </asp:UpdatePanel>
79                 </div>

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

时间: 2024-10-03 22:40:32

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

目标设立(17条)及时间管理(26条)

目标设立(17条)及时间管理(26条) 目标设立及时间管理是成功最重要的技巧. 行动是成功最重要的关键,请你百分之百的彻底实践,执行 每天进步一点点 有很多人想要行动.他知道他要行动.可是他还没有行动,有一个很重要的原因是因为他缺乏一些技巧和方法. 时间管理的源头来自于目标设定. 运用以下的关键技巧和方法,一个礼拜以后你会有很大的一个转换. 分享一些成功的技巧和方法: 一.目标设定和达成的关键(17条) 1.时间管理第一点就是要有一个明确的目标. 2.优先顺序你要排好. 3.目标要有一个期限.(

利用原生javascript实现进度条(可做页面头部进度条,或者局部进度条均可)

1 <div class="top-progress" id="js-top-progress"></div> <!--结构只有一句话即可--> 2 <script src="./static/js/progress.js"></script> 3 <script type="text/javascript"> 4 var p = myProgress.c

javascript实现在图片读取的时候出现进度条….

<title>JS实现的图片加载进度条_网页代码站(http://www.frontopen.com</title> <script> var l=0; var imgs; var sum=0; function chk(){ document.getElementById(“aa”).innerText=””+((sum-l)*100/sum)+”%” l–; if (l==0){ for (var i=0;i<imgs.length;i++){ imgs[i]

如何为无法获取进度百分比的耗时操作增加“伪进度条”?

在实际开发中,可能会遇到这样的场景:“一个操作非常耗时,但却无法获取其进度百分比”.造成这种情况的原因可能有: 1)该操作属于第三方库(泛指我们使用但无法修改的第三方代码,因此质量有高有底),可能由于第三方库作者没有意识到这个操作在某些情况下会非常耗时,没有提供进度值. 2)某些操作压根就无法计算进度或者计算进度要牺牲极大的效率. 这种场景,执行这样的耗时操作会导致程序UI假死.为了提高用户体验,我们可以为该操作提供一个假的进度条,即保证程序UI不假死.我们将耗时操作放到子线程中去执行,然后在G

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

最近,制作一个app,需要模拟一个电池电量的进度条,根据电量多少来设置百分比,进度条不断上下滚动,就像平时手机充电一样的电池电量进度条.我就自定义view实现了电量进度条.修改图片就可以达到自己想要的效果 一.自定义View,Battery.java,循环刷新界面,两张图片上下滚动,达到不断向右移动的效果.挺有意思的 package com.example.battery; import android.content.Context; import android.content.res.Re

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

效果图: 只需在前台加上这段代码即可: <UserControl.Resources> <!--笔刷--> <LinearGradientBrush x:Key="SliderBackground" StartPoint="0,0" EndPoint="0,1"> <GradientStop Offset="0" Color="#59ccfc"/> <G

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

在WebForm 显示列表数据我们一般使用服务器控件Repeater.DataList或者GridView ,功强大能,使用简单.但同时也是有代价的, 一:不管你用哪个控件都需要牺牲一些额外的性能,因为他们的生命周期很复杂. 二:绑定数据时不够灵活,显示的过程是不透明的,想随心所欲的对某一行进行额外的控制会很麻烦. 三:会生成一对"垃圾代码",增加页面生成和显示的负担. 四:对css样式的控制不够灵活,如果是团队合作,和美工沟通起来有点麻烦,美工设计好的静态页面开发人员甚至不能直接拿来

【原创】datalist repeater 控件的行鼠标单击 以及 滑过特效

原文发布时间为:2009-05-06 -- 来源于本人的百度文章 [由搬家工具导入] 调用方法如:<tr id="<%# Container.ItemIndex+1 %>" onclick="LightRow(this)" onmouseover=" MouseOverColor(this)" onmouseout="MouseOutColor(this)" objTr.bgColor,objTr.style

接上一篇中记录Echarts进度环使用【不同状态不同进度环颜色及圈内文字】--采用单实例业务进行说明

接上一篇中记录Echarts进度环使用 此处处理不同状态下不同进度环颜色及圈内文字等的相关处理,采用实际案例源码说明 -----------------偶是华丽丽分割线--------------------------------------------------- 业务上此处拿一个有期限任务实例举例说明 业务简要说明: [任务按时间 可分为 未开始--进行中--已结束 3大状态//其中已开始任务中任务状态又需要根据完成情况(提交与否)显示对应圈内文字] 核心地方如图已标出 接下来我们可以自