每三秒执行一次,若是需要触发执行,可添加一个单击事件.
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title></title>
<style type="text/css">
.textC {
position: absolute;
width: 500px;
overflow: hidden;
margin-top: 100px;
line-height: 30px;
margin-left: 300px;
height: 30px;
}
.textC span {
color: #13BEEC;
font-size: 28px;
font-weight: bold;
position: absolute;
}</style>
<script src="jquery-3.2.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
NumbersAnimate.Target = $(".textC");
NumbersAnimate.Numbers = 12389623;
NumbersAnimate.Duration = 1500;
NumbersAnimate.Animate();
});
var NumbersAnimate = {
Target: null,
Numbers: 0,
Duration: 500,
Animate: function () {
var array = NumbersAnimate.Numbers.toString().split("");
//遍历数组
for (var i = 0; i < array.length; i++) {
var currentN = array[i];
//数字append进容器
var t = $("<span></span>");
$(t).append("<span class=\"childNumber\">" + array[i] + "</span>");
$(t).css("margin-left", 18 * i + "px");
$(NumbersAnimate.Target).append(t);
//生成滚动数字,根据当前数字大小来定
for (var j = 0; j <= currentN; j++) {
var tt;
if (j == currentN) {
tt = $("<span class=\"main\"><span>" + j + "</span></span>");
} else {
tt = $("<span class=\"childNumber\">" + j + "</span>");
}
$(t).append(tt);
$(tt).css("margin-top", (j + 1) * 25 + "px");
}
$(t).animate({marginTop: -((parseInt(currentN) + 1) * 25) + "px"}, NumbersAnimate.Duration, function () {
$(this).find(".childNumber").remove();
});
}
},
ChangeNumber: function (numbers) {
var oldArray = NumbersAnimate.Numbers.toString().split("");
var newArray = numbers.toString().split("");
for (var i = 0; i < oldArray.length; i++) {
var o = oldArray[i];
var n = newArray[i];
if (o != n) {
var c = $($(".main")[i]);
var num = parseInt($(c).html());
var top = parseInt($($(c).find("span")[0]).css("marginTop").replace('px', '')); for (var j = 0; j <= n; j++) {
var nn = $("<span>" + j + "</span>");
if (j == n) {
nn = $("<span>" + j + "</span>");
} else {
nn = $("<span class=\"yy\">" + j + "</span>");
}
$(c).append(nn);
$(nn).css("margin-top", (j + 1) * 25 + top + "px");
}
var margintop = parseInt($(c).css("marginTop").replace('px', ''));
$(c).animate({marginTop: -((parseInt(n) + 1) * 25) + margintop + "px"}, NumbersAnimate.Duration, function () {
$($(this).find("span")[0]).remove();
$(".yy").remove();
});
}
}
NumbersAnimate.Numbers = numbers;
}, RandomNum: function (m, a) {
var Range = a - m;
var Rand = Math.random();
return (m + Math.round(Rand * Range));
}
}
$(function () {
setInterval(function () {
NumbersAnimate.ChangeNumber(NumbersAnimate.RandomNum(10000000, 19999999));
console.log(11);
}, 3000)
})
</script>
</head>
<body>
</body>
</html>

js数字自执行随机滚动的更多相关文章

  1. 通过JS生成由字母与数字组合的随机字符串

    在项目中可能需要随机生成字母数字组成的字符,如生成3-32位长度的字母数字组合的随机字符串(位数不固定)或者生成43位随机字符串(位数固定) 使用Math.random()与toString()方法的 ...

  2. JS图片自动或者手动滚动效果(支持left或者up)

    JS图片自动或者手动滚动效果(支持left或者up) JS图片自动或者手动滚动效果 在谈组件之前 来谈谈今天遇到搞笑的事情,今天上午接到一个杭州电话 0571-28001187 即说是杭州人民法院的 ...

  3. js代码的执行顺序及运算

    代码执行顺序:从上往下,一行一行的执行(也叫一个模块一个模块的执行) 变量的提升(它不是变量的功能,而是浏览器的功能) js代码如何执行? js代码执行前,浏览器会给他一个全局的环境 叫window, ...

  4. php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)

    php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...

  5. (转载)js引擎的执行过程(二)

    概述 js引擎执行过程主要分为三个阶段,分别是语法分析,预编译和执行阶段,上篇文章我们介绍了语法分析和预编译阶段,那么我们先做个简单概括,如下: 语法分析: 分别对加载完成的代码块进行语法检验,语法正 ...

  6. js数字位数太大导致参数精度丢失问题

    最近遇到个比较奇怪的问题,js函数里传参,传一个位数比较大,打印arguments可以看到传过来的参数已经改变. 然后查了一下,发现确实是js精度丢失造成的.我的解决方法是将数字型改成字符型传输,这样 ...

  7. 超简单的js数字验证

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...

  8. JS数字键盘

    JS数字键盘,JS小键盘 CSS代码: #numberkeyboard { border: 1px solid #b3b3b3; background: #f2f3f7; height: 285px; ...

  9. Headroom.js – 快速响应用户的页面滚动操作

    Headroom.js 是一个轻量级,高性能的JS插件(无依赖性!),允许你响应用户的滚动行为.Headroom.js 使您能够在适当的时候把元素融入视图,而其它时候让内容成为焦点.Headroom. ...

随机推荐

  1. build tool 的简单认知

    Build Tool 什么是Build Tool(构建工具)? 构建工具是从源代码自动创建可执行应用程序的程序(例如.apk for android app).构建包括将代码编译,链接和打包成可用或可 ...

  2. Bootstrap3基础 thumbnail 圆角类型的div块

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  3. CBV与FBV

    FBV FBV(function base views)就是在 url 中一个路径对应一个函数 urls.py urlpatterns = [ url(r'^admin/', admin.site.u ...

  4. git 管理和存储二进制大文件

    git 管理二进制文件 本文档将逐步带你体验 git 的大文件管理方式. 环境: windows10 64位 cmd git版本: git version 2.18.0.windows.1 创建到推送 ...

  5. 使用ByteArrayOutputStream解决IO乱码问题的踩坑记录

    经过:今天在用s3接口做ceph储存的时候,要实现一个io下载的接口.需要把InputStream转成byte[],一开始,是的写法是这样的: byte[] buf = new byte[(int) ...

  6. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

  7. Ruby on Rails Tutorial 第一章笔记

    搭建开发环境 作者介绍了 Cloud9\ Coding.net 这样的云端开发环境 安装 Rails 1. 新建 rails 应用 首先,调用 rails new 命令创建一个新的 Rails 应用, ...

  8. ranch 源码分析(三)

    接上ranch 源码分析(二) 上次讲到了ranch_conns_sup和ranch_acceptors_sup这2个ranch的核心模块,我们接着分析 首先查看ranch_conns_sup.erl ...

  9. 『TensorFlow』命令行参数解析

    argparse很强大,但是我们未必需要使用这么繁杂的东西,TensorFlow自己封装了一个简化版本的解析方式,实际上是对argparse的封装 脚本化调用tensorflow的标准范式: impo ...

  10. pyqt小例子

    from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import QApplication, QMainWindow imp ...