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) });
详细解决方案
滚动数目字跑马灯
热度:219 发布时间:2012-11-23 22:54:33.0
相关解决方案