博主信息
博文 2
粉丝 1
评论 0
访问量 4475
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
圆环形进度条js+html+css
似曾相识的博客
原创
1497人浏览过

代码结构简单

效果如下图所示

GIF.gif

直接上代码

先看html代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/style.css">
<script src="js/jquery-1.11.2.min.js"></script>
<script src="js/index.js"></script>
<title>环形进度条</title>
</head>
<body>
<div class="box">
<div class="pro">
<div class="pro_cont">
<div class="pro_bar left">
<span></span>
</div>
<div class="pro_bar right">
<span></span>
</div>
</div>
</div>
</div>
<h2 style="text-align:center"></h2>
</body>
</html>

下边展示css代码

*{
padding:0;
list-style: none;
margin:0;
}
a{
text-decoration:none;
}
.box{
display: table;
margin:0 auto;
margin-top: 100px;
}
.pro{
width:180px;
height:180px;
border: 10px solid #ccc;
border-radius:50%;;
-webkit-border-radius:50%;
-moz-border-radius:50%;
-ms-border-radius:50%;
-o-border-radius:50%;
position: relative;
}
.pro_cont{
width:200px;
height:200px;
position: absolute;
top:-10px;
left:-10px;
}
.pro_bar{
width:100px;
height:200px;
float:left;
overflow: hidden;
position: absolute;
top:0px;
}
.left{
left: 0px;
}
.right{
right:0px;
}
.pro_bar>span{
width:180px;
height:180px;
display: block;
border:10px solid red;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
-ms-border-radius:50%;
-o-border-radius:50%;
transition: all ease 0.1s 0s;
-webkit-transition: all ease 0.1s 0s;
-moz-transition: all ease 0.1s 0s;
-ms-transition: all ease 0.1s 0s;
-o-transition: all ease 0.1s 0s;
}
.left span{
margin-left:0px;
border-left: 10px solid transparent;
border-bottom: 10px solid transparent;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
.right span{
margin-left: -100%;
border-right: 10px solid transparent;
border-bottom: 10px solid transparent;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
}

关键的js代码来了

$(function(){
// rotate1   右侧旋转
// rotate2   左侧旋转

var pro_val=100;// 实际最终进度值
var rotate_value=0;//初始进度值

// 定时器
auto=setInterval(function(){
rotate_value++;
if(rotate_value>pro_val){
rotate_value=pro_val;
clearInterval(auto);
}
if (rotate_value==100){
clearauto();
}
trans();
},50)

// 旋转函数封装(实际进度)
function trans (){
if (rotate_value>50){
rotate1 = 135;
rotate2 = (rotate_value - 50) * 3.6 + 45;
}else{
rotate1 = rotate_value* 3.6 - 45;
rotate2 = 45;
}
$('.right>span').css('transform', 'rotate(' + rotate1+'deg)')
$('.left>span').css('transform', 'rotate(' + rotate2+'deg)')
$('h2').text(rotate_value+"%")
}
function clearauto(){
clearInterval(auto);
console.log('加载完成...');
}


})

效果思路如下

1.先制作一个灰色的背景圆环,我取名为Pro

2.在背景环内写两个overflow:hidden;属性的容器

3.在容器内各写一个半圆,调整transorm:rotate();属性,以及半圆位置,确保两个半圆可以拼接出一个正圆

4.通过js控制半圆旋转角度

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学