numScroll.js 使用

原创:minderce

链接:jQuery数字滚动效果,可调整不同位数

;(function($, window, document) {
	"use strict";
	var defaults = {
		deVal: 0,
		className: 'dataNums',
		digit: ''
	};

	function rollNum(obj, options) {
		this.obj = obj;
		this.options = $.extend(defaults, options);
		this.init = function() {
			this.initHtml(obj, defaults);
		}
	}
	rollNum.prototype = {
		initHtml: function(obj, options) {
			var strHtml = '<ul class="' + options.className + ' inrow">';
			var valLen = options.digit || (options.deVal + '').length;
			var valArr = options.deVal + ''.split();
			if(obj.find('.' + options.className).length <= 0) {
				for(var i = 0; i < valLen; i++) {//位数
					strHtml += '<li class="dataOne "><div class="dataBoc"><div class="tt" t="38"><span class="num0">0</span> <span class="num1">1</span> <span class="num2">2</span> <span class="num3">3</span> <span class="num4">4</span><span class="num5">5</span> <span class="num6">6</span> <span class="num7">7</span> <span class="num8">8</span> <span class="num9">9</span><span class="num0">0</span> <span class="num1">1</span> <span class="num2">2</span> <span class="num3">3</span> <span class="num4">4</span><span class="num5">5</span> <span class="num6">6</span> <span class="num7">7</span> <span class="num8">8</span> <span class="num9">9</span></div></div></li>';
				}
				strHtml += '</ul>';
				obj.html(strHtml);
			}
			this.scroNum(obj, options);
		},
		scroNum: function(obj, options) {
			var number = options.deVal;
			var $num_item = $(obj).find('.' + options.className).find('.tt');
			var h = $(obj).find('.dataBoc').height();
			$num_item.css('transition', 'all 2s ease-in-out');
			var numberStr = number.toString();
			if(numberStr.length <= $num_item.length - 1) {
				var tempStr = '';
				for(var a = 0; a < $num_item.length - numberStr.length; a++) {
					tempStr += '0';
				}
				numberStr = tempStr + numberStr;
			}
			var numberArr = numberStr.split('');
			var oRem = document.body.clientWidth || document.documentElement.clientWidth;
			oRem = oRem/750*100 * 0.29;
			var jqH = $num_item.find('span').eq(0).height();
			$num_item.each(function(i, item) {
				setTimeout(function() {
					$num_item.eq(i).css('top', -parseInt(numberArr[i]) * jqH - jqH * 10 + 'px');
				}, i * 100)
			});
		}
	}
	$.fn.rollNum = function(options) {
		var $that = this;
		var rollNumObj = new rollNum($that, options);
		rollNumObj.init();
	};})(jQuery, window, document);
复制代码

HTML

<div id="datanums"></div>

js调用

$("#datanums").rollnum({ deval: 21, //设置值 digit: 4, //设置显示4位数 classname: 'test' //设置样式名称 });

效果可通过原创链接查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值