一个原生的用户等级的进度条

  做了一个用户等级的进度条,只是练手。

  本人对后台不是太了解,所以这里做成了用户自己输入参数的办法来模拟从后台读参数的过程。

  演示:

用户等级

 

 

在线时间:本级所需时间: 

  

  说明:只是简单功能,演示请输入有效数字,本级所需时间并不是指剩于时间,请正确输入。鼠标划过进度条,会显示升级信息。

 

  查看源代码:

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
<! DOCTYPE html >
< html >
< head >
< meta http - equiv = " content " content = " text/html charset=gb2312 " >
< style type = " text/css " >
* {margin: 0 ; padding: 0 ;}
.uInfo{width:200px; padding:10px;}
h3{margin:10px
0 ;}
#level{width:150px; height:6px; border:1px solid #ccc; cursor:pointer;}
#le{height:6px; width:
0 ;display:block; background:#f00; font - size: 0 ;}
label{margin
- left:10px;}
#showTime{display:none; color:#f00; line
- height:24px; font - size:12px;}
</ style >
< script type = " text/javascript " >
function userInfo(){
var allTime
= document.getElementById( " allTime " ).value;
var onTime
= document.getElementById( " onTime " ).value;
var level
= document.getElementById( " level " );
var le
= document.getElementById( " le " );
if (allTime == onTime){
le.style.width
= 100 + " % " ;
}
else if (onTime == 0 ){
le.style.width
= 0 ;
}
else {
countPercent(onTime,allTime,level,le);
}
}
function countPercent(onHours,allHours,level,le){
var floatNum
= onHours / allHours;
var percent
= floatNum.toFixed( " 2 " );
var toPercent;
if (percent == 1.00 ){
toPercent
= 99 ;
}
else if (percent == 0.00 ){
toPercent
= 1 ;
}
else {
toPercent
= percent.substring( 2 );
}
le.style.width
= toPercent + " % " ;
var showTime
= document.getElementById( " showTime " );
level.onmouseover
= function(){
showTime.style.display
= " block " ;
showTime.innerHTML
= " 在线时长: "   + onHours + " / " + allHours;
}
level.onmouseout
= function(){
showTime.innerHTML
= "" ;
showTime.style.display
= " none " ;
}
}
</ script >
</ head >
< body >
< div class = " uInfo " >
< h3 > 用户等级 </ h3 >
< p id = " level " >< span id = " le " ></ span ></ p >
< P id = " showTime " ></ p >
</ div >
< div class = " getNum " >
< label > 在线时间: </ label >< input type = " text " id = " onTime " />< label > 本级所需时间: </ label >< input type = " text " id = " allTime " />& nbsp; < input type = " button " value = " 显示进度 " onclick = " userInfo() " >
</ div >
</ body >
</ html >

 

转载于:https://www.cnblogs.com/joyan/archive/2010/07/02/1770124.html

### 回答1: 可以使用 HTML 的 ```<progress>``` 标签来实现原生进度条。首先,在 HTML 创建一个 ```<progress>``` 标签,并给它设置一个初始值和最大值。然后,使用 JavaScript 来更新进度条的值。下面是一个简单的示例: ```HTML <progress id="myProgress" value="0" max="100"></progress> ``` ```JavaScript var progressBar = document.getElementById("myProgress"); function updateProgress(newValue) { progressBar.value = newValue; } ``` 在这个例子,我们通过调用 ```updateProgress(newValue)``` 函数来更新进度条的值。 另外可以使用 css 去修饰进度条的样式,例如背景颜色,大小等。 ### 回答2: 要实现一个进度条,可以使用JavaScript原生的方式操作DOM元素来实现。 首先,在HTML创建一个包含进度条的容器元素,例如一个div元素,给它一个唯一的id,方便在JavaScript操作。如下所示: ```html <div id="progress-bar"></div> ``` 然后,在JavaScript获取该容器元素,并设置它的样式,包括宽度和背景颜色等,表示进度条的外观。可以使用style属性来设置样式。如下所示: ```javascript var progressBar = document.getElementById('progress-bar'); progressBar.style.width = '0%'; progressBar.style.backgroundColor = '#00FF00'; ``` 接着,定义一个函数用于更新进度条的进度。该函数的参数可以是表示进度的数值,例如进度的百分比。在函数,通过修改进度条容器元素的宽度来改变进度条的进度。如下所示: ```javascript function updateProgressBar(progress) { progressBar.style.width = progress + '%'; } ``` 最后,在其他地方调用updateProgressBar函数,传入不同的进度值,即可实现进度条的动态更新。例如,可以使用定时器模拟进度的增长。如下所示: ```javascript var progress = 0; var timer = setInterval(function() { progress += 10; // 每次增加10% if (progress >= 100) { clearInterval(timer); // 达到100%时停止定时器 } updateProgressBar(progress); }, 1000); ``` 以上就是使用JavaScript原生实现一个简单的进度条的方法。根据需要可以进行样式、动画等更多的定制和改进。 ### 回答3: 进度条是一种常见的页面元素,可以用来显示任务的进展情况或者加载的进度。在JavaScript,我们可以通过一些方式来实现一个进度条。 一种简单的方式是利用CSS和JavaScript的动态改变元素样式来实现进度条的效果。首先,在HTML定义一个容器元素,作为进度条的外框。然后使用CSS样式将其设置为合适的大小、颜色和形状。接着,使用JavaScript获取任务进展的百分比,并根据百分比来改变进度条的宽度,从而显示当前任务的进展情况。 HTML部分: ```html <div id="progress-bar"></div> ``` CSS部分: ```css #progress-bar { width: 0%; height: 20px; background-color: blue; transition: width 0.5s ease-in-out; } ``` JavaScript部分: ```javascript // 获取任务进展的百分比 var progress = 50; // 假设任务已完成50% // 获取进度条元素 var progressBar = document.getElementById('progress-bar'); // 根据任务进展的百分比来设置进度条的宽度 progressBar.style.width = progress + '%'; ``` 这样,当进度为50%时,进度条的宽度会动态地改变为50%。当任务进展更新时,只需要更新`progress`的值,再次执行`progressBar.style.width = progress + '%'`来实现进度条的更新。 以上是一个简单的使用原生JavaScript实现进度条的方法,当然,如果需要更加复杂的效果和功能,可以使用一些库或框架(如Bootstrap、jQuery等)来辅助实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值