当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用CSS+JS实现的进度条效果效果

Javascript
JavaScript 解析Json字符串的性能比较分析代码
js 日期字符串截取分割成单个具体的日期(2009-12-30 13:28:29)
javascript 倒计时代码
javascript 语法基础 想学习js的朋友可以看看
javascript获取元素文本内容的通用函数
javascript 动态设置已知select的option的value值的代码
jquery 简单的图片展示效果
js textarea自动增高并隐藏滚动条
Javascript 中介者模式实例
textbox 在光标位置插入字符功能的js实现(兼容ie,firefox)
jQuery Attributes(属性)的使用(二、类篇)
Javascript document.referrer判断访客来源网址
[原创]javascript 移动鼠标得到单元格所在table表中的rowIndex位置[兼容ie,firefox]
javascript获得光标所在的文本框(text/textarea)中的位置
event.srcElement 用法笔记e.target
javascript 导出数据到Excel(处理table中的元素)
javascript DOM操作之动态删除TABLE多行
Javascript在IE或Firefox下获取鼠标位置的代码
Javascript 多浏览器兼容性问题及解决方案
让div层随鼠标移动的实现代码 ie ff

Javascript 中的 用CSS+JS实现的进度条效果效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 178 ::
收藏到网摘: n/a

进度条,就是在用户进入你的网站的时候,能让用户看到网页下载了多少,这个的作用非常明显---就是让用户的等待时间变长,可以有效的弥补空间慢的缺点(当然,你空间太慢,还是建议你换下空间,呵呵)
好了,现在我先来举两个例子
一个是用FLASH实现的 (这个网上很多网站都是,不说了)
一个是用动态的GIF实现的 (这个你可以看微软官方的下载页面,也不说了)
这里,我们的重点是用 CSS+JS 实现这个效果
好了,废话不多说,我们开始
首先,写一段HTML代码
<div id="loading">
<strong id="loadcss"> 33%</strong>
</div>
好了,现在我们编写一下CSS代码
#loading {
width: 300px;
background-color: #000;
border : 2px solid #000;
}
这个是我们希望进度条的底色是 #000 ,黑色的,再加了一个边框
j
接下来多 loadcss 进行设计
#loadcss {
display : block ; /*很重要, 弄成块*/
background-color: # 0df;
text-align : center;
}
注意,这里的BLOCK 很重要的, 我们用 #0df 这种颜色来作为进度条的颜色;
好了,预览一下
h
呵呵,不过现在是整条进度条都是满的
那么,怎么弄可以显示进度呢?
这里,可以用一个巧妙的方法
把HTML代码稍微修改一下
看下面的代码:
<div id="loading">
<strong id="loadcss" style="width:33%;"> 33%</strong>
</div>
呵呵,怎么样,现在 显示的就是33% 了
但是,他是不动,对吧? 好,下面我们就用 JS 来实现 一下 (这个JS不是我设计的...)
<script language="JavaScript">
i=0;
function load () {
showload=setInterval("load()",500);
}
function setload(){
i+=5;
if (i>=100) {
clearInterval(showlaod);
}
document.getElementById("loadcss").style.width=i+"%" ;
document.getElementById("loadcss").innerHTML=i+"%";
}
</script>
OK了,这段JS主要是两个函数, 一个是 load ,用来开启进度条,
第二是 setload ,用来 控制进度条 的位置 ,在 setload设置一个计数器,每0.5秒运行一次steload.
O K了,这段JS要放在HEAD里面,然后在BODY中调用 , 即 <BODY ONLOAD="LOAD;">
呵呵,现在运行一下网页试试,呵呵,是不是成功了,呵呵.