main.js
来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· JavaScript 代码 · 共 253 行
JS
253 行
function push() { var sub = this.length; for (var i = 0; i < push.arguments.length; ++i) { this[sub] = push.arguments[i]; sub++; }}function pop() { var lastElement = null; if (this.length > 0) { lastElement = this[this.length - 1]; this.length--; } return lastElement;}Array.prototype.push = push;Array.prototype.pop = pop;function getById(id) { if (document.layers){ //Netscape 4 specific code pre = 'document.'; post = ''; } if (document.getElementById){ //Netscape 6 specific code pre = 'document.getElementById("'; post = '")'; } else if (document.all){ //IE4+ specific code pre = 'document.all.'; post = ''; } return eval(pre + id + post);}// All this stuff because we want it to be reentrantvar animScriptArr = new Object();var nextAnimId = 0;var animate_speed = 90;function animScriptsHelper(index, delay){ if (animScriptArr[index] == null) { return; } script = animScriptArr[index].pop(); if (script != null) { eval(script); } if (animScriptArr[index].length > 1) { setTimeout("animScriptsHelper(" + index + ", " + delay + ");", delay); } else { if (animScriptArr[index].length == 1) { script = animScriptArr[index].pop(); delete animScriptArr[index]; if (script != null) { eval(script); } } else { delete animScriptArr[index]; } } }function setBackgroundColor(r,g,b,rowid){ getById(rowid).style.background = "rgb(" + r + "," + g + "," + b + ")";}function setColor(r,g,b, myid){ var i, td_n_elems, td_elems = getById(myid).getElementsByTagName("a"); td_n_elems = td_elems.length; for (i = 0; i < td_n_elems; i++) { td_elems[i].style.color = "rgb(" + r + "," + g + "," + b + ")"; }}function anim(direction){ // build color fade var ci; var count = 20; var mult = Math.floor(256 / count); var colorAnimScripts = new Array(); var cid = 0; var cid2 = 0; var animid = "nowplaying"; if (direction == 1) { colorAnimScripts[0] = "anim(0);"; } else { colorAnimScripts[0] = "anim(1);"; } for (ci = 1; ci < count+1; ci++) { if (direction) { cid = count - (ci-1); cid2 = (ci-1); } else { cid = (ci-1); cid2 = count - (ci-1); } colorAnimScripts[ci] = "setBackgroundColor(" + Math.floor(13.0 * (cid*mult/100.0) + 100.0) + "," + Math.floor(13.0 * (cid*mult/100.0) + 100.0) + "," + Math.floor(13.0 * (cid*mult/100.0) + 140.0) + ", '" + animid + "');"; } setColor(255,255,0, "nowplaying"); animScriptArr[0] = colorAnimScripts; animScriptsHelper(0, animate_speed+0);// animScriptArr[nextAnimId++] = colorAnimScripts;// animScriptsHelper(nextAnimId-1, animate_speed+0);}var dateobj = -1;var dhours = 0;var dmins = 0;var dsecs = 0;function countdown(value) { // all this is done because setTimeout 1000, isn't really a second in js if (dateobj == -1) { dateobj = new Date(); dhours = dateobj.getUTCHours(); dmins = dateobj.getUTCMinutes(); dsecs = dateobj.getUTCSeconds(); // refresh automatically every 20 secs. setTimeout("dateobj=-1;refreshPage();", 20000); } dateobj2 = new Date(); var hours_now = dateobj2.getUTCHours(); var mins_now = dateobj2.getUTCMinutes(); var secs_now = dateobj2.getUTCSeconds(); // difference (assume no number is more that an hour :) msecs = ((hours_now == dhours ? 0 : 1) * 60 * 60 + (mins_now - dmins) * 60 + (secs_now - dsecs)) * 1000; diff = value * 1000 - msecs; tdo = new Date(diff); rhours = tdo.getUTCHours(); rmins = tdo.getUTCMinutes(); rsecs = tdo.getUTCSeconds(); var hours_str = (rhours == 0 ? "" : (rhours < 10 ? "0" + rhours : rhours) + ":"); var mins_str = rmins < 10 ? "0" + rmins : rmins; var secs_str = rsecs < 10 ? "0" + rsecs : rsecs; getById("countdown").innerHTML = hours_str + mins_str + ":" + secs_str; setHeaders(); if (diff > 0) { setTimeout("countdown(" + value + ");", 500); } else { getById("countdown").innerHTML = "00:00"; // go refresh this page refreshPage(); }}function getPageScroll(){ var x,y; if (self.pageYOffset) // all except Explorer { x = self.pageXOffset; y = self.pageYOffset; } else if (document.documentElement && document.documentElement.scrollTop) // Explorer 6 Strict { x = document.documentElement.scrollLeft; y = document.documentElement.scrollTop; } else if (document.body) // all other Explorers { x = document.body.scrollLeft; y = document.body.scrollTop; } return y;}function setPageScroll(pxs){ window.scrollTo(0, pxs);}function setScrollInUrl(newUrl){ if (newUrl.match(/scroll=\d*/)) { return newUrl.replace(/scroll=\d*/g, "scroll=" + getPageScroll()); } else { if (newUrl.match(/\?/)) { return newUrl + "&scroll=" + getPageScroll(); } else { return newUrl + "?scroll=" + getPageScroll(); } }} function refreshPage() { document.location = setScrollInUrl("" + document.location);}function rescroll() { regex = new RegExp("scroll=[^\\&]+"); var match = regex.exec(document.URL); scrollPos = parseInt((match+"").substring(7)); if (match) { setPageScroll(scrollPos); }}function dolink(qstr){ document.location = setScrollInUrl("?" + qstr);}function setHeaders(){ var i, td_n_elems_dest, td_elems_dest = getById("trackheader").getElementsByTagName("th"); td_n_elems = td_elems_dest.length; var td_n_elems, td_elems; if (getById("trackone")) { td_n_elems, td_elems = getById("trackone").getElementsByTagName("td"); } else { td_n_elems, td_elems = getById("nowplaying").getElementsByTagName("td"); } for (i = 0; i < td_n_elems; i++) { td_elems_dest[i].style.width = td_elems[i].offsetWidth; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?