51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

分享一款基于jQuery定时器功能插件

123.png

在我们平时的项目中,数据图表的交互应用也是比较多的,枯燥的数据配上酷炫的动画效果,会使其看上去并不那么乏味。

关于数据图标交互的插件,平时我们可能用的比较多的是highcharts、百度ECharts等等。今天分享自己最近才用到的一款:Pietimer。

Pietimer是一个可以在页面上生成一个扇形变化的定时器插件,它基于jQuery,可以自定义定时时间秒数,自定义扇形的颜色、宽度和高度等,并且支持定时结束时回调函数,可以控制开始和暂停,适用于需要定时器的页面如在线考试、倒计时,限时抢购等场景。它的最大优势就是简洁、易应用,易扩展。

OK,让我们一起来了解下。

HTML {#content}

首先加载jquery库文件和pietimer.js文件。

<script src="/demo/js/jq.js"></script> 
<script src="/demo/js/jquery.pietimer.min.js"></script>

然后我们在页面上放置一个"开始"和一个"暂停"按钮,以及用来绘制扇形图形的元素.demo,然后就是用来提示定时完成的console.log("结束咯!");。

<style type="text/css">
        .pietimer-box{margin:50px auto;width:500px;text-align:center}
        .btn-fon{display:inline-block;margin:0 10px;width:120px;line-height:34px;background:#cc0;color:#fff;text-decoration:none}
        .pause{background:#666}    
        .btn-fon:hover{background:#f00}
        .pause:hover{background:#444}  
        .demo{margin-bottom:30px}
    </style>
<div class="pietimer-box">
        <div class="demo"></div>
        <a class="btn-fon start" href="javascript://">start开始</a>
        <a class="btn-fon pause" href="javascript://">pause暂停</a>
</div>

jQuery

首先我们要在.demo中绘制扇形,通过$('.demo').pietimer()调用,参数seconds表示定时时间(秒),color表示扇形的颜色,可以通过rgba来设置,也可以使用16进制颜色值,如#FFFFFF,width和height表示扇形的半径,紧接着的回调函数表示定时完成了时触发。

$(function(){    
    $('.demo').pietimer({
        seconds: 2,
        color: 'rgba(0,0,0,0.5)',
        height:100,
        width:100,
        //is_reversed: true  //是否逆时针转
    },
    function(){
        //回调函数
        console.log("结束咯!");
    });    
       
});

它有一些参数,看以下表格:

| 参数 | 说明 | |-------------|------------------------| | seconds | 时间秒数 | | color | 自定义扇形的颜色 | | width | 宽度 | | height | 高度 | | is_reversed | boolean是否逆转,默认false顺时针 |

上面的代码是绘制了一个扇形以及定义其相关参数选项,而实际要触发定时器则需要$('.demo').pietimer('start')来调用,同样暂停则是:$('.demo').pietimer('pause'),暂停后还可以点击"开始"继续定时器。

$(function(){        
    $('.start').click(function(){
        $('.demo').pietimer('start');
        return false;
    });
    $('.pause').click(function(){
        $('.demo').pietimer('pause');
        return false;
    });    
});

OK,我们一起来看个完整的demo,代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>分享一款基于jQuery扇形定时器功能插件 - Web前端之家</title>
    <style type="text/css">
        .pietimer-box{margin:50px auto;width:500px;text-align:center}
        .btn-fon{display:inline-block;margin:0 10px;width:120px;line-height:34px;background:#cc0;color:#fff;text-decoration:none}
        .pause{background:#666}    
        .btn-fon:hover{background:#f00}
        .pause:hover{background:#444}  
        .demo{margin-bottom:30px}
    </style>

</head>
<body>
    <div class="pietimer-box">
        <div class="demo"></div>
        <a class="btn-fon start" href="javascript://">start开始</a>
        <a class="btn-fon pause" href="javascript://">pause暂停</a>
    </div>

    <script type="text/javascript" src="https://www.jiangweishan.com/demo/js/jq.js"></script> 
    <script type="text/javascript" src="https://www.jiangweishan.com/demo/js/jquery.pietimer.min.js"></script>
    <script type="text/javascript">
        $(function(){    
            $('.demo').pietimer({
                seconds: 2,
                color: 'rgba(0,0,0,0.5)',
                height:100,
                width:100,
                //is_reversed: true  //是否逆时针转
            },
            function(){
                //回调函数
                console.log("结束咯!");
            });
            
            $('.start').click(function(){
                $('.demo').pietimer('start');
                return false;
            });
            $('.pause').click(function(){
                $('.demo').pietimer('pause');
                return false;
            });    
        });
    </script>
</body>
</html>

总结

这款插件相比其他的要简单很多,希望大家了解完后,能够应用到具体的项目中,如有问题都可以留言。


赞(0)
未经允许不得转载:工具盒子 » 分享一款基于jQuery定时器功能插件