滚动数字跑马灯


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)
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值