`
chenjian_791
  • 浏览: 20952 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

滚动数字跑马灯

 
阅读更多
var scrollnumber = {
	parseParam: function(d, c, b) {
		var e, f = {};
		c = c || {};
		for (e in d) {
			f[e] = d[e];
			if (c[e] != null) {
				if (b) {
					if (d.hasOwnProperty[e]) {
						f[e] = c[e]
					}
				} else {
					f[e] = c[e]
				}
			}
		}
		return f
	},

	getUniqueKey: function(c) {
		var a = (new Date()).getTime().toString(),
		b = 1;
		return function() {
			return a + (b++)
		}
	},

	numShow: function(e, c) {
		var l = {},
		_this = this,
		g = {};
		var j = {
			num : 0,
			len : 8,
			height : 24,
			time : 5000,
			speed : 4,
			scope : 10
		};
		c = _this.parseParam(j, c);
		c.eachTop = [0];
		for (var h = 1; h <= 10; h++) {
			c.eachTop.push(c.eachTop[h - 1] - c.height)
		}
		var m = "T_" + _this.getUniqueKey();
		g[m] = c;
		var p = function (t) {
			var w = t.toString(),
			s = "",
			v = "";
			for (var u = 0; u < g[m]["len"]; u++) {
				v += "0"
			}
			if (w.length < g[m]["len"]) {
				s = v.slice(w.length) + w
			} else {
				if (w.length > g[m]["len"]) {
					throw "Number is longer than you set"
				} else {
					s = w
				}
			}
			return s.split("")
		};
		var o = function (t, s) {
			var v = [];
			for (var u = 0; u < t.length; u++) {
				if (t[u] != s[u]) {
					v.push(u)
				}
			}
			return v
		};
		var f = function () {
			if (!g[m].oNum) {
				g[m].oNum = g[m].num
			}
			if (!g[m].cNum) {
				g[m].cNum = g[m].oNum
			}
			g[m].oNum = g[m].cNum;
			g[m].cNum = g[m].oNum + Math.floor(Math.random() * g[m].scope);
			return {
				oNum : g[m].oNum,
				cNum : g[m].cNum
			}
		};
		var r = function (t, s) {
			t = parseInt(t);
			s = parseInt(s);
			if (t > s) {
				return (10 - t + s) * g[m].height
			} else {
				return (s - t) * g[m].height
			}
		};
		var n = function (t) {
			var s = g[m].eachTop;
			if (t < s[s.length - 1]) {
				t = t - s[s.length - 1]
			}
			if (t > 0) {
				t = t + s[s.length - 1]
			}
			return t
		};
		var b = function () {};
		var d = function () {
			setInterval(function () {
				var x = f();
				var u = p(x.oNum),
				w = p(x.cNum);
				var z = o(u, w);
				var v = [];
				for (var t = 0; t < z.length; t++) {
					v.push(r(u[z[t]], w[z[t]]))
				}
				var y = false;
				var s = setInterval(function () {
						for (var E = 0; E < z.length; E++) {
							var B = e.children("LI")[z[E]];
							var D;
							if (B.style.backgroundPosition) {
								D = parseInt(B.style.backgroundPosition.substr(4))
							} else {
								D = g[m].eachTop[u[z[E]]]
							}
							var F = Math.floor(v[E] / g[m].speed);
							v[E] -= F;
							if (F == 0) {
								y = true;
								B.style.backgroundPosition = "5px " + g[m].eachTop[w[z[E]]] + "px";
								if (s) {
									clearInterval(s);
									s = null
								}
								for (var C = 0; C < z.length; C++) {
									var A = e.children("LI")[z[C]];
									A.style.backgroundPosition = "5px " + g[m].eachTop[w[z[C]]] + "px"
								}
								break
							}
							B.style.backgroundPosition = "5px " + n(D - F) + "px"
						}
					}, 30)
			}, g[m].time)
		};
		var q = function () {
			e.html("");
			var t = "";
			for (var s = 0; s < p(g[m].num).length; s++) {
				t += '<li class="n' + p(g[m].num)[s] + '"></li>'
			}
			e.html(t)
		};
		q();
		l.start = d;
		return l
	},

	scroll: function (m, f) {
		var _this = this;
		var r = {};
		var j;
		var x = {};
		var p = {};
		var v = {};
		var s = {};
		var w = function () {
			t();
			h();
			o();
			//n();
			//q();
			//g();
			//u()
		};
		var t = function () {
			if (!m) {
				throw "[pl_event_search] : missing  -> path : comp.event.numShow"
			}
			//f = e.core.obj.parseParam({
			//		html : ""
			//	}, f)
			f = {html:''};
		};
		var h = function () {
			if (f.html) {
				//m.innerHTML = f.html
				m.html(f.html)
			}
			j = {
				//event : c('[node-type="event"]', m)[0],
				//user : c('[node-type="user"]', m)[0]
				user : $("ul[node-type='user']")
			};
			if (!m) {
				throw "Lack of necessary nodes  -> path : comp.event.numShow"
			}
		};
		var o = function () {
			//var y = parseInt(j.event.getAttribute("num"));
			//var z = parseInt(j.user.getAttribute("num"));
			var z = parseInt(j.user.attr("num"));
			//e.common.com.numShow(j.event, {
			//	num : y,
			//	time : 15000
			//}).start();
			_this.numShow(j.user, {
				num : z,
				time : 4000,
				scope : 50
			}).start()
		};
		var n = function () {};
		var q = function () {};
		var g = function () {};
		var u = function () {};
		var l = function () {};
		w();
		r.destory = l;
		return r
	}
}

$(function(){
	var a = $("#pl_event_numShow");
	if (!a) {
		return
	}
	scrollnumber.scroll(a)
});
分享到:
评论

相关推荐

    滚动消息 跑马灯效果

    在IT行业中,滚动消息和跑马灯效果是常见的UI设计元素,主要用于展示动态信息或吸引用户的注意力。这种效果常被应用于新闻网站、广告横幅、移动应用通知等场景。本篇将深入探讨“滚动消息跑马灯效果”的实现原理、...

    支持多种形式的新闻滚动、跑马灯效果

    在IT行业中,新闻滚动和跑马灯效果是常见的动态展示方式,主要应用于网站、APP以及各种数字媒体平台,用于展示最新资讯、广告或重要通知。这些效果能够吸引用户的注意力,提高信息的可见度,同时也为界面增添了动态...

    28335跑马灯_28335跑马灯_28335_跑马灯DSP_f28335跑马灯_TMS320F28335_

    在本项目中,我们将关注的是使用TMS320F28335 DSP(数字信号处理器)来实现跑马灯功能。TMS320F28335是德州仪器(TI)生产的一款高性能浮点型DSP芯片,广泛应用在实时控制、电机驱动、通信系统等领域。 跑马灯的...

    delphi 上下滚动效果(跑马灯)

    在Delphi编程环境中,"上下滚动效果(跑马灯)"是一种常见的动态显示信息的技术,它通常用于文本或图像的连续滚动展示,就像我们常见的LED显示屏那样。跑马灯效果能够在一个固定的空间内循环显示大量的信息,增加了...

    基于java的跑马灯程序

    跑马灯程序是一种常见的UI效果,它在界面上滚动显示文字或图像,常用于通知、广告等场景。基于Java实现的跑马灯程序通常应用于Android应用开发,因为Java是Android平台的主要编程语言。本程序旨在为APP增添动态的...

    paomadeng.rar_matlab滚动字幕_matlab跑马灯_点阵_跑马灯_跑马灯 matlab

    在数字电子设备上,跑马灯通常由一系列点亮的LED点组成,形成文字或图案。 在MATLAB中,我们可以使用`text`函数来在图形窗口中添加文本,配合定时器和循环结构,可以实现文本的动态滚动。以下是实现这一功能的主要...

    文字跑马灯.txt_bitejdi_textview实现简单跑马灯_

    跑马灯效果是一种常见的UI设计元素,特别是在早期的电子设备和现代移动应用中,它可以用于显示滚动的文字或信息。在Android开发中,我们通常使用TextView组件来实现这种效果。本篇将详细介绍如何利用TextView实现一...

    Java文字滚动跑马灯特效.rar

    Java文字滚动跑马灯特效,随着越来越多手提电话和个人数字助理开始融入到信息高速公路之上,从移动设备上访问Web站点变得越来越重要。Java开创了消费设备中小型的储存容量的先河,它是用于开发手机、传呼机及其他...

    跑马灯的几种方式

    跑马灯,也被称为流水灯,是电子工程和嵌入式系统中常见的一种显示效果,通常用于指示或装饰目的。跑马灯效果可以通过各种编程技术和硬件实现,下面将详细介绍跑马灯的几种实现方式,以及涉及到的相关技术。 一、...

    西门子300实例 博途 V 13 编写的16位跑马灯程序

    在16位跑马灯程序中,我们将控制16个独立的LED(或类似的指示设备)按照特定顺序依次亮起,形成一种连续滚动的效果。实现这种效果的关键在于理解和掌握PLC的定时器、计数器以及移位寄存器等基本元素。 在博途V13中...

    垂直方向跑马灯

    跑马灯(Marquee)效果源自早期的LED显示屏,现在被广泛应用于数字媒体和移动应用中。在Android中,我们可以利用`TextView`的特性来实现这一效果。`TextView`有一个属性`android:singleLine`(API 26后被弃用,推荐...

    Android-快速实现跑马灯借鉴了部分RecyclerView的思想

    `getItemCount()`返回数据集的大小,对于跑马灯,这个值通常是无限循环的,因此我们需要在此处进行特殊处理,比如设置为一个较大的数字。 2. **自定义ViewHolder**:ViewHolder是RecyclerView中的关键组件,它持有...

    跑马灯效果

    这种效果源于早期霓虹灯广告中的滚动文字展示,随着时间的推移,"跑马灯"这一概念逐渐被引入到数字媒体中。在IT行业中,跑马灯效果通常是指文本或图像在界面上连续滚动或循环播放的现象,以此吸引用户的注意力或传递...

    led.rar_verilog跑马灯_跑马灯 Verilog_跑马灯vhdl程序

    跑马灯,也被称为滚动指示器,是一种常见的电子设计示例,常用于教学和实践,以帮助初学者理解数字逻辑和硬件描述语言(HDL)如Verilog或VHDL。在本压缩包中,"led.rar_verilog跑马灯_跑马灯 Verilog_跑马灯vhdl程序...

    跑马灯程序(左移右移)

    跑马灯程序是一种常见的电子工程中的编程应用,它在LED显示屏或者数码管上模拟出文字或图案连续滚动的效果,常用于广告展示或者信息提示。在这个程序中,我们重点关注的是“左移”和“右移”操作,这是数字逻辑和...

    电子设计 五合一 跑马灯 电子时钟 秒表 温度计 滚动字幕

    在电子设计领域,"电子设计 五合一 跑马灯 电子时钟 秒表 温度计 滚动字幕"是一项综合性的项目,它融合了多个功能模块,旨在提供一个全面且有趣的实践平台。这个五合一系统包含了以下几个关键知识点: 1. **跑马灯*...

    推送跑马灯效果不错可用

    推送跑马灯效果是一种在移动应用或网页设计中常见的通知方式,它以动态滚动的方式呈现信息,吸引用户的注意力。这种效果常用于展示重要的推送消息,确保用户不会错过关键信息。在本文中,我们将深入探讨跑马灯效果的...

    跑马灯.rar_51单片机_LPD6803 led_lpd6803_跑马灯程序

    跑马灯是一种常见的LED显示效果,它通过顺序点亮或熄灭LED灯来形成一种动态滚动的视觉效果,类似于赛马场上的灯光移动,因此得名“跑马灯”。这种效果在电子显示屏、装饰照明等领域有广泛应用。 LPD6803是一种串行...

Global site tag (gtag.js) - Google Analytics