带有 CSS 圆圈的 JavaScript 倒计时

标签 javascript html css countdown

我有一个倒计时,我正在尝试使用倒计时的 css 圆圈进行视觉显示。但我不知道该怎么做才能一次带走一个圆圈。我的代码重复了每个循环的圆圈数。我知道为什么,但现在我该怎么做才能让它每次都带走一个?

JS fiddle :http://jsfiddle.net/L0o9jmw9/

JS:

        var sec = 5
        function setClock() {
            var totalSec =  sec--;
            var s = parseInt(totalSec % 60, 10);
            var result = s + " seconds to go!";
            document.getElementById('timeRemaining').innerHTML = result;
            if(totalSec === 0){
                document.getElementById('timeRemaining').innerHTML = 'time out';
            }else{
                for(var i = 0; i < s; i++){
                    //console.log(i);
                    $('.cont-s').prepend('<div class="cir-s"></div>');
                }
                setTimeout(setClock, 1000);
            }
        }
        setClock();

HTML:

<div id="timeRemaining"></div>
<div class="cont-s"></div>

CSS:

.cir-s{
    width: 20px;
    height: 20px;
    background: #802A2A;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 50px;
    float:left;
}

最佳答案

只需在每次迭代前清空 HTML:

function setClock() {
    $('.cont-s').empty(); // empty the circles div

    var totalSec =  sec--;
    var s = parseInt(totalSec % 60, 10);
    var result = s + " seconds to go!";

    document.getElementById('timeRemaining').innerHTML = result;

    if(totalSec === 0){
        document.getElementById('timeRemaining').innerHTML = 'time out';
    } else {
        for(var i = 0; i < s; i++){
            $('.cont-s').prepend('<div class="cir-s"></div>');
        }
        setTimeout(setClock, 1000);
    }
}

关于带有 CSS 圆圈的 JavaScript 倒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30988968/

相关文章:

html - css html 百分比调整图像大小

html - 多层绝对定位

javascript - 保留可用于聚焦后代的按键事件

c# - 使用各种方法将访问者重定向到网站的不同区域?

html - 在居中容器内水平对齐 div

html - 具有宽度和换行符之前的跨度元素

html - 固定位置表格标题超出屏幕

javascript - 如何使文本框只接受 0-10 之间的数字,并且只接受小数部分的 0.5?

javascript - 在 node.js 上使用 tracking.js

html - 内联 block 在 Firefox/Safari 中比 Chrome 看起来更宽,溢出了行