html原生js进度条圆形,原生 JavaScript 实现进度条

原生JavaScript特效

JavaScript实现进度

进度条实现介绍

使用JavaScript实现进度条功能。

原理:通过鼠标移动事件,获取鼠标移动的距离。

步骤:

(1)html 中 div 布局

(2)css 样式编写

(3)JavaScript特效编写

html代码

0%

css样式

/* 整体样式,消除默认样式 */

body{

margin:0;

padding:0;

}

#box{

position:relative;

width:1000px;

height:30px;

margin:100px auto;

}

#progress{

position:relative;

width:900px;

height:30px;

background:#999999;

border-radius:8px;

margin:0 auto;

}

#progress_head{

width:0px;

height:100%;

border-top-left-radius:8px;

border-bottom-left-radius:8px;

background:#9933CC;

}

#span{

position:absolute;

width:20px;

height:38px;

background:#9933CC;

top:-4px;

left:0px;

cursor:pointer;

}

#percentage{

position:absolute;

line-height:30px;

text-align:center;

right:-44px;

top:0;

}

JavaScript代码

//js获取节点

var oProgress=document.getElementById('progress');

var oProgress_head=document.getElementById('progress_head');

var oSpan=document.getElementById('span');

var oPercentage=document.getElementById('percentage')

//添加事件 鼠标按下的事件

oSpan.οnmοusedοwn=function(event){

var event=event || window.event;

var x=event.clientX-oSpan.offsetLeft;

document.οnmοusemοve=function(){

var event=event || window.event;

var wX=event.clientX-x;

if(wX<0)

{

wX=0;

}else if(wX>=oProgress.offsetWidth-20)

{

wX=oProgress.offsetWidth - 20;

}

oProgress_head.style.width=wX+'px';

oSpan.style.left=wX+'px';

oPercentage.innerHTML=parseInt(wX/(oProgress.offsetWidth-20)*100)+'%';

return false;

};

document.οnmοuseup=function(){

document.οnmοusemοve=null;

};

};

效果图

bVbOVyo

bVbOVyp

整体代码

进度条

/* 整体样式,消除默认样式 */

body{

margin:0;

padding:0;

}

#box{

position:relative;

width:1000px;

height:30px;

margin:100px auto;

}

#progress{

position:relative;

width:900px;

height:30px;

background:#999999;

border-radius:8px;

margin:0 auto;

}

#progress_head{

width:0px;

height:100%;

border-top-left-radius:8px;

border-bottom-left-radius:8px;

background:#9933CC;

}

#span{

position:absolute;

width:20px;

height:38px;

background:#9933CC;

top:-4px;

left:0px;

cursor:pointer;

}

#percentage{

position:absolute;

line-height:30px;

text-align:center;

right:-44px;

top:0;

}

0%

//js获取节点

var oProgress=document.getElementById('progress');

var oProgress_head=document.getElementById('progress_head');

var oSpan=document.getElementById('span');

var oPercentage=document.getElementById('percentage')

//添加事件 鼠标按下的事件

oSpan.οnmοusedοwn=function(event){

var event=event || window.event;

var x=event.clientX-oSpan.offsetLeft;

document.οnmοusemοve=function(){

var event=event || window.event;

var wX=event.clientX-x;

if(wX<0)

{

wX=0;

}else if(wX>=oProgress.offsetWidth-20)

{

wX=oProgress.offsetWidth - 20;

}

oProgress_head.style.width=wX+'px';

oSpan.style.left=wX+'px';

oPercentage.innerHTML=parseInt(wX/(oProgress.offsetWidth-20)*100)+'%';

return false;

};

document.οnmοuseup=function(){

document.οnmοusemοve=null;

};

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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、付费专栏及课程。

余额充值