jQuery圆形滚动进度条动态加载loading效果

简介:

2017年12月13日

可以随时停止进度,需要计算时间清除定时器

.loading .wrap,
.loading .circle,
.loading .percent {
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 50%;
}

.loading .wrap {
    top: 150px;
    left: 50%;
    margin-left: -100px;
    background-color: #ccc;
}

.loading .circle {
    box-sizing: border-box;
    border: 10px solid #ccc;
    clip: rect(0, 200px, 200px, 100px);
}

.loading .clip-auto {
    clip: rect(auto, auto, auto, auto);
}

.loading .percent {
    box-sizing: border-box;
    top: -10px;
    left: -10px;
}

.loading .left {
    transition: transform ease;
    border: 10px solid #51abe5;
    clip: rect(0, 100px, 200px, 0);
}

.loading .right {
    border: 10px solid #51abe5;
    clip: rect(0, 200px, 200px, 100px);
}

.loading .nothing {
    width: 0;
}

.loading .num {
    z-index: 1;
    position: absolute;
    left: 10px;
    top: 10px;
    width: 180px;
    height: 180px;
    color: #fff;
    line-height: 180px;
    text-align: center;
    font-size: 40px;
    border-radius: 50%;
    /*background-color: #fff;*/
    background: #2b9cdb;
    box-sizing: border-box;
}
<div class="wrap">
    <div class="circle">
        <div class="percent left"></div>
        <div class="percent right nothing"></div>
    </div>
    <div class="num"><span class="export">0</span>%</div>
</div>
var percent = 0; //初始化百分比
var rcent = 100; //需要显示的百分比
var loading = setInterval(function() {
    if(percent > 100) {
        percent = 0;
        $('.circle').removeClass('clip-auto');
        $('.right').addClass('nothing');
    } else if(percent > 50) {
        $('.circle').addClass('clip-auto');
        $('.right').removeClass('nothing');
    }
    $('.left').css("-webkit-transform", "rotate(" + (18 / 5) * percent + "deg)");
    $('.export').text(percent);
    if(percent == rcent) {
        //加载完成
        clearInterval(loading);
    } else {
        percent++;
    }
}, 50);
目录
相关文章
|
5月前
|
JavaScript
基于jQuery的公告无限循环滚动实现代码
基于jQuery的公告无限循环滚动实现代码
30 0
|
9月前
|
前端开发 JavaScript
Echarts实战案例代码(22):jquery使用ajax属性beforeSend实现预加载loading效果代替showLoading的解决方案
Echarts实战案例代码(22):jquery使用ajax属性beforeSend实现预加载loading效果代替showLoading的解决方案
73 0
|
5月前
|
JavaScript
jQuery实现大屏滚动播放的效果
jQuery实现大屏滚动播放的效果
23 0
|
5月前
|
JavaScript 前端开发
jQuery实现可拖动控制进度条
jQuery实现可拖动控制进度条
24 0
|
5月前
|
JavaScript
jQuery实现消息滚动播放的效果
jQuery实现消息滚动播放的效果
23 0
|
7月前
|
JavaScript 前端开发
jQuery 页面顶部滚动中固定导航栏
jQuery 页面顶部滚动中固定导航栏
24 0
|
JSON JavaScript 前端开发
【前端】使用jQuery实现地铁线路地图动态加载站点
通过上篇文章,我们已经把地铁线路静态布局设计好了,接下来就是让静态转为动态化和交互 今天,有个小伙伴咨询我说,已经有很多成熟的前端框架可以使用,我直接学习他们的用法,完全不用怎么自己写布局,干嘛还要花这么多时间从原始方式去布局呢 我的回答是,其实他说的是有道理的,时间是宝贵的,但是长期已往,如果不能了解和理解最原视的架构,可能技术在迭代更新过程中会很费劲,亦或者更加依赖某一项框架 对技术的追求还是那句话:掌握原理,不断练习,才能更好跟上前言技术
341 0
|
Web App开发 JavaScript Android开发
jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部
webtouch(webapp)页面,防苹果手机safari浏览器,往上滑动,底部导航消失,滑动到底部又出现。向下滑动,底部导航出现。
313 0
|
JavaScript
jQuery入门第六章(滚动事件相关)
jQuery入门第六章(滚动事件相关)
74 0
|
JavaScript
jquery插件-全屏滚动-54
jquery插件-全屏滚动-54
69 0
jquery插件-全屏滚动-54