本文实例为大家分享了JavaScript实现进度条效果的具体代码,供大家参考,具体内容如下

这次的效果图如下:

这个案例做起来不难,在我练习的时候,新知识点是使用window.getComputedStyle()函数获取元素的宽度值

总的思路是在一个div盒子初始放入一个宽度为0的div盒子,然后在按钮的onclick回调函数中使用定时器改变其宽度值

代码如下:
`<!DOCTYPE html>

<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#container {
width: 500px;
height: 200px;
margin: 50px auto;
position: relative;
}

#box {
width: 260px;
height: 30px;
border: 1px pink solid;
border-radius: 16px;
margin-bottom: 20px;
padding: 1px;
overflow: hidden;
}

#cont {
width: 0;
height: 100%;
background-color: pink;
border-radius: 16px;
}

#btn {
position: absolute;
margin-left: 110px;
width: 50px;
height: 30px;
}


#text {
display: block;
position: relative;
left: 120px;
margin-bottom: 20px;
}

</style>
</head>

<body>
<div id="container">
<div id="box" data-content-before="22">
<div id="cont"></div>
</div>
<div id="text">0%</div>
<button id="btn">提交</button>
</div>
<script>
let box = document.getElementById(“box”);
let btn = document.getElementById(“btn”);
let cont = document.getElementById(“cont”);
let text = document.getElementById(“text”);

function getstyle(obj, name) {
if (window.getComputedStyle) {
return window.getComputedStyle(obj, null)[name];
}
else {
return obj.currentStyle[name];
}
}

btn.onclick = function () {
let ini = 0;
let num = setInterval(() => {

let tem = parseInt(window.getComputedStyle(cont, null)[“width”]);
let now = tem + 26;

if (tem >= 260) {
console.log(now);
clearInterval(num);
return;
}

cont.style.width = now + “px”;
ini = ini + 10;
text.innerText = ini + “%”;

}, 80);
}
</script>

</body>

</html>`

更多相关文章

  1. Android之glide加载图片圆角效果
  2. android studio 3.1.1 创建项目编译不过的问题解决
  3. android studio ndk开发遇到的问题
  4. Android(安卓)Studio启动DDMS
  5. ListView取消分割线
  6. Android(java)学习笔记113:Android编写代码调用Vibrator震动功能,按
  7. Android的版本(Version)和API-level的对应关系
  8. android studio 3.0 升级 项目遇到的问题更改
  9. android中启动服务

随机推荐

  1. 使用IN语句缓慢mysql删除查询
  2. mysql的replace的使用
  3. 无需安装ORACLE远程连接SQLPLUS以及PL/SQ
  4. (转)运维角度浅谈MySQL数据库优化
  5. 删除2行1 Sql语句mysql
  6. 新导入项目数据库导入失败
  7. msql,触发器无事物回滚,插入之前满足条件
  8. 我的MYSQL学习心得(十一) 视图
  9. Excel数据快速导入mysql的几个办法
  10. ORACLE-SQL:定义并使用多字符串变量