用JS怎么实现提交过程的进度条效果,代码是什么
Admin 2022-07-01 群英技术资讯 1235 次浏览
今天这篇我们来学习和了解“用JS怎么实现提交过程的进度条效果,代码是什么”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“用JS怎么实现提交过程的进度条效果,代码是什么”有一定的帮助。有这方面学习需要的朋友就继续往下看吧!这次的效果图如下:

这个案例做起来不难,在我练习的时候,新知识点是使用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>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
JS的Window窗口对象怎样用,有哪些属性和方法?下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
本文主要介绍了如何在Vue中动态添加类名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本篇文章主要通过 Options API 和 Composition API 对比 watch 的使用方法,让大家快速掌握 vue3 中 watch 新用法,需要的朋友可以参考一下哦,希望对大家有所帮助
对于新手来说,非负整数n的阶乘是比较难理解的一个算法,对此,这篇文章给大家分享的是有关js如何实现分解数字的内容、下面会介绍使用递归分解一个数字、使用WHILE循环分解一个数字和使用FOR循环分解数字。
这篇文章主要介绍了基于element-ui封装表单金额输入框的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008