[jQuery][插件][tgAnimationLabel]数字滚动

本文介绍了jQuery插件tgAnimationLabel的使用,该插件用于实现数字滚动效果。通过在HTML中设置元素的data-end属性指定最终显示的数字,并在js中调用tgAnimationLabel.js进行配置,如延迟、滚动频率和增幅比例等参数。

效果图

这里写图片描述

这个插件完全没有样式!

接下来讲怎么调用

HTML

需要在显示数字的元素上加上 data-tg-num 值为最终显示的数字
然后初始值设置为0就行
这个动画是从当前值慢慢累加到最终值

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>tgAnimationLabel</title>
</head>
<body>
    <button>Play</button>
    <p>
        <span data-tg-num="1890">0</span>
    </p>
    <script src="jquery.min.js"></script>
    <script src="tgAnimationLabel.js"></script>
    <script>
        $(document).ready(function () {
            $("button").click(function () {
                $("span").tgAnimationLabel().play();
            });
        });
    </script>
</body>
</html>

js

tgAnimationLabel.js

+function ($, window, document, undefined) {
    var plugin = function (ele, opt) {
        this.$element = $(ele),
        this.defaults = {
            delay: 1000,
            fps: 50,
            range: .057,
        },
        this.options = $.extend({}, this.defaults, opt);
    }

    function update(ele, opt, numResult, tid) {
        // 获取当前数字
        var numCur = parseInt(ele.html());
        // 计算出下一次要显示的数字
        var numNext = numCur + parseInt(numResult * opt.range);
        if (numNext >= numResult) {
            numNext = numResult;
            window.clearInterval(tid);
        }
        ele.html(numNext);
    }

    plugin.prototype = {
        play: function () {
            var me = this;
            setTimeout(function () {
                var t = window.setInterval(function () {
                    update(me.$element, me.options, me.$element.data("tg-num"), t);
                }, me.options.fps);
            }, me.options.delay);
        },
    }

    $.fn.tgAnimationLabel = function (options) {
        var p = new plugin(this, options);
        return p;
    }
}(jQuery, window, document);

参数说明

delay

表示何时开始滚动,单位为毫秒,默认值1000

fps

表示滚动频率(并不是真正意义上的fps),单位为毫秒,默认值50

range

表示增幅比例,一个小数,默认值.057(js里小数都可以省去小数点前面的0)

说明

就先这么记着吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值