jquery sizeChange.js 数字动态增长

数字动态增长

<html>
<head>
    <meta charset="utf-8"/>
</head>

<div data-speed="1500" data-from="10" data-to="50" id="count-number"  class="textd timer"></div><span>元</span>

<script src="https://cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>
<script type="text/javascript" src="sizeChange.js"></script>
</html>
sizeChange.js
$.fn.countTo = function (options) {
        options = options || {};

        return $(this).each(function () {
            // set options for current element
            var settings = $.extend({}, $.fn.countTo.defaults, {
                from:            $(this).data(‘from‘),
                to:              $(this).data(‘to‘),
                speed:           $(this).data(‘speed‘),
                refreshInterval: $(this).data(‘refresh-interval‘),
                decimals:        $(this).data(‘decimals‘)
            }, options);

            // how many times to update the value, and how much to increment the value on each update
            var loops = Math.ceil(settings.speed / settings.refreshInterval),
                increment = (settings.to - settings.from) / loops;

            // references & variables that will change with each update
            var self = this,
                $self = $(this),
                loopCount = 0,
                value = settings.from,
                data = $self.data(‘countTo‘) || {};

            $self.data(‘countTo‘, data);

            // if an existing interval can be found, clear it first
            if (data.interval) {
                clearInterval(data.interval);
            }
            data.interval = setInterval(updateTimer, settings.refreshInterval);

            // initialize the element with the starting value
            render(value);

            function updateTimer() {
                value += increment;
                loopCount++;

                render(value);

                if (typeof(settings.onUpdate) == ‘function‘) {
                    settings.onUpdate.call(self, value);
                }

                if (loopCount >= loops) {
                    // remove the interval
                    $self.removeData(‘countTo‘);
                    clearInterval(data.interval);
                    value = settings.to;

                    if (typeof(settings.onComplete) == ‘function‘) {
                        settings.onComplete.call(self, value);
                    }
                }
            }

            function render(value) {
                var formattedValue = settings.formatter.call(self, value, settings);
                $self.html(formattedValue);
            }
        });
    };

    $.fn.countTo.defaults = {
        from: 0,               // 开始数据
        to: 0,                 // 结束数据
        speed: 1000,           // 过渡时间
        refreshInterval: 100,  // 刷新时间
        decimals: 2,           // 小数点位数
        formatter: formatter,  // handler for formatting the value before rendering
        onUpdate: null,        // callback method for every time the element is updated
        onComplete: null       // callback method for when the element finishes updating
    };

    function formatter(value, settings) {
        return value.toFixed(settings.decimals);
    }

  // custom formatting example
  $(‘#count-number‘).data(‘countToOptions‘, {
    formatter: function (value, options) {
      return value.toFixed(options.decimals).replace(/\B(?=(?:\d{3})+(?!\d))/g, ‘,‘);
    }
  });

  // start all the timers
  function timer(){
      $(‘.timer‘).each(count);
      function count(options) {
        var $this = $(this);
        options = $.extend({}, options || {}, $this.data(‘countToOptions‘) || {});
        $this.countTo(options);
      }
  }
  timer();

				
时间: 2024-08-10 17:05:15

jquery sizeChange.js 数字动态增长的相关文章

jquery.animateNumber.js 数字动画效果

应要求  ,改个东西,需要的数字动画效果网上搜了,都没有满足要求效果的现成插件,最后找到<a href="http://www.51xuediannao.com/mbdemo.php">jquery.animateNumber.js</a>. 需要的效果如图:: 要求有分割符及小数位,但是<a href="http://www.51xuediannao.com/mbdemo.php">jquery.animateNumber.js

页面数字动态增长至目标值

<!DOCTYPE html><html> <head> <title></title> <script type="text/javascript" src="../js/common.js"></script> </head> <body> <span id="a666"></span> <script t

页面滚动图片等元素动态加载插件jquery.scrollLoading.js

如果一个网页很长,那么该页面的加载时间也会相应的较长.而这里给大家介绍的这个jQuery插件scrollLoading的作用则是,对页面元素进行动态加载,通俗的说就是滚到哪就加载到哪,屏幕以下看不见的就不用加载了.这样还可以在一定程度上节省服务器资源.该插件作者的网页将该插件的功能和使用方法描述的非常详细,这里把最一般最普遍的使用情况给大家展现一下. 插件作者:http://www.zhangxinxu.com/ 首先我们需要加载jQuery库和本插件js文件. (jquery.scrollLo

jQuery插件 -- 动态事件绑定插件jquery.livequery.js

http://blog.csdn.net/zzq58157383/article/details/7721974 动态事件绑定插件livequery, 可以利用它给相应的DOM元素注册事件或者触发回调函数.不仅当选择器匹配的元素会被绑定事件,而且后来通过JavaScript添加的元素都会被绑定事件.当元素不再和选择器匹配时,livequery会自动取消事件注册,使得开发者不再需要关注HTML元素的来源,只需要关注如何编写其绑定的事件即可 通过jQuery选择器选择一个DOM元素,livequer

js-数字渐增到指定的数字,在指定的时间内完成(有动画效果哦)插件jquery.animateNumber.js

本来在项目中我自己实现的效果是数字由0渐增到指定的数字就好. 但是,最终效果不理想! Why? 最终指定的数字太大了,TMMD,滚动好久就不到,那用户想看自己有多少钱了,那不是就一直等着!!!所以这个效果OUT! 改变思路 需求:在规定的时间内,实现数字由:初始值滚动到指定的数字 找到一个动画插件:jquery.animateNumber.js html: <span id="bmikece" style="font-size: 35px;"><%

js渲染数字自增长效果

数字自增长效果一般用于页面上显示的敏感指标值.具体简单实现如下: 1 function renderIncreasingNum(num, fn){ 2 var i = 0, 3 addUnit = 1, 4 interv = setInterval(function(){ 5 if(i<100){ 6 fn.call(null, parseInt(num)-100+i); 7 i+= addUnit; 8 }else{ 9 fn.call(null, num); 10 clearInterval

Bootstrap jquery.twbsPagination.js动态页码分页

Bootstrap风格的分页控件自适应的: 参考网址:分页参考文档 1.风格样式: 2.首先引入js文件jquery.twbsPagination.js <span style="font-size:14px;"><script type="text/javascript" src="plugins/page/jquery.twbsPagination.js"></script></span> 3.

jquery实现的竖向动态柱状条效果

jquery实现的竖向动态柱状条效果:很多数据统计效果中,柱状条方式的算是比较常见的一种,形象直观,下面就是一段能够实现此功能的代码实例,并且具有一定的动态效果,下面就对代码做一下分享,并详细介绍一下它的实现过程.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://

“高三”笔记之动态JS、动态样式

拜读<JavaScript高级程序设计> --- 站在巨人的肩上 动态JS.动态样式就是页面加载时不存在,但将来通过DOM操作动态添加的脚本:包括加载外部文件和添加内部代码块两种:动态加载的外部文件能够立即运行,而动态添加的代码块却不能如愿的立即执行:下面将主要以JS为例,小小的探索下动态脚本的加载.执行以及jQuery的做法.Angularjs的相关做法: 1.动态加载外部文件 因为动态加载的外部JS会立即执行,也没什么浏览器兼容性问题,这个好处理:这里的重点是怎么知道脚本已加载完成呢?呵呵