jquery和CSS3圆形倒计时特效

这是一款jquery和CSS3圆形倒计时特效。该特效使用CSS对页面进行布局,生成用于倒计时的圆环,然后通过jquery代码来控制圆环的倒计时进度。

预览 下载

使用方法

在页面中引入下面的文件。

html 复制代码
<link href="css/style.css" rel="stylesheet" />
<script src="js/jquery.min.js" type="text/javascript"></script>
HTML结构
html 复制代码
<div class="flex-container">
    <div class="outbox">
    </div>
    <!--  SVG AREA -->
    <svg class="svg">
        <circle id="cls" class="cls run-anim" cx="130" cy="130" r="125"></circle>
    </svg>
    <!--  SVG AREA END -->
    <div class="control">
        <div class="time">
            <label for="min">
                Min
                <input id="min" type="number" min="0" max="59" placeholder="mm" value="0" />
            </label>
            <label for="sec">
                Sec
                <input id="sec" type="number" min="0" max="59" placeholder="ss" value="0" />
            </label>
        </div>
        <div class="action">
            <button id="start" class="">
                开始
            </button>
    <button id="reset" class="">
        停止
    </button>
        </div>
    </div>
</div>
初始化插件
javascript 复制代码
let circle = document.getElementById('cls');
let total ;
let start = $('#start');

start.click( ()=>{
    let minute = document.getElementById('min').value;
    let second = document.getElementById('sec').value;
    // console.log("seconds:"+(minute*60)+"secs:"+second);
    total = (parseInt(minute)*60) + parseInt(second);
    console.log("total:"+total);
    circle.style.strokeDashoffset = "800";
    circle.style.animationDuration = total+"s";
    circle.style.animationPlayState = "running";
    set(1000*total);
    circle.classList.add("run-anim");
});

function set(total){
    let interval = setInterval(ret,total);
    function ret(){
        confirm('Timer Completed! Press Reset');
        circle.classList.remove("run-anim");
        void circle.offsetWidth;
        clearInterval(interval);
    }
}

// let reset = $('#reset');
// reset.click(()=>{
//     circle.style.animationPlayState = "paused";
// });     
相关推荐
明君879972 分钟前
Flutter 如何给图片添加多行文字水印
前端·flutter
leolee1833 分钟前
Redux Toolkit 实战使用指南
前端·react.js·redux
bluceli35 分钟前
React Hooks最佳实践:写出优雅高效的组件代码
前端·react.js
IT_陈寒44 分钟前
JavaScript代码效率提升50%?这5个优化技巧你必须知道!
前端·人工智能·后端
IT_陈寒1 小时前
Java开发必知的5个性能优化黑科技,提升50%效率不是梦!
前端·人工智能·后端
LDX前端校草1 小时前
前端开发规则配置
前端
代码老中医1 小时前
2026前端工程化新范式:如何用AI驱动你的设计系统?
前端
用户11481867894841 小时前
Vite项目中的SVG雪碧图
前端·面试
这个实现不了1 小时前
vue写一些进度条样式1
前端
小蜜蜂dry1 小时前
可视化大屏适配方案之- px-To-viewport
前端