High Time Function

最近博客換地址了,該功能已經(jīng)移除。。。

請(qǐng)注意我博客主頁(yè)右上角的HighTime功能,昨天在看小伙伴的博客的時(shí)候發(fā)現(xiàn)的,現(xiàn)在全盤(pán)供出源碼。

<li> <a title="HighTime" href='javascript:(function() {
function c() {
    var e = document.createElement("link");
    e.setAttribute("type", "text/css");
    e.setAttribute("rel", "stylesheet");
    e.setAttribute("href", f);
    e.setAttribute("class", l);
    document.body.appendChild(e)
}

function h() {
    var e = document.getElementsByClassName(l);
    for (var t = 0; t < e.length; t++) {
        document.body.removeChild(e[t])
    }
}

function p() {
    var e = document.createElement("div");
    e.setAttribute("class", a);
    document.body.appendChild(e);
    setTimeout(function() {
        document.body.removeChild(e)
    }, 100)
}

function d(e) {
    return {
        height : e.offsetHeight,
        width : e.offsetWidth
    }
}

function v(i) {
    var s = d(i);
    return s.height > e && s.height < n && s.width > t && s.width < r
}

function m(e) {
    var t = e;
    var n = 0;
    while (!!t) {
        n += t.offsetTop;
        t = t.offsetParent
    }
    return n
}

function g() {
    var e = document.documentElement;
    if (!!window.innerWidth) {
        return window.innerHeight
    } else if (e && !isNaN(e.clientHeight)) {
        return e.clientHeight
    }
    return 0
}

function y() {
    if (window.pageYOffset) {
        return window.pageYOffset
    }
    return Math.max(document.documentElement.scrollTop, document.body.scrollTop)
}

function E(e) {
    var t = m(e);
    return t >= w && t <= b + w
}

function S() {
    var e = document.createElement("audio");
    e.setAttribute("class", l);
    e.src = i;
    e.loop = false;
    e.addEventListener("canplay", function() {
        setTimeout(function() {
            x(k)
        }, 500);
        setTimeout(function() {
            N();
            p();
            for (var e = 0; e < O.length; e++) {
                T(O[e])
            }
        }, 15500)
    }, true);
    e.addEventListener("ended", function() {
        N();
        h()
    }, true);
    e.innerHTML = " <p>If you are reading this, it is because your browser does not support the audio element. We recommend that you get a new browser.</p> <p>";
    document.body.appendChild(e);
    e.play()
}

function x(e) {
    e.className += " " + s + " " + o
}

function T(e) {
    e.className += " " + s + " " + u[Math.floor(Math.random() * u.length)]
}

function N() {
    var e = document.getElementsByClassName(s);
    var t = new RegExp("\\b" + s + "\\b");
    for (var n = 0; n < e.length; ) {
        e[n].className = e[n].className.replace(t, "")
    }
}

var e = 30;
var t = 30;
var n = 350;
var r = 350;
var i = "http://s3.amazonaws.com/moovweb-marketing/playground/harlem-shake.mp3";
var s = "mw-harlem_shake_me";
var o = "im_first";
var u = ["im_drunk", "im_baked", "im_trippin", "im_blown"];
var a = "mw-strobe_light";
var f = "http://s3.amazonaws.com/moovweb-marketing/playground/harlem-shake-style.css";
var l = "mw_added_css";
var b = g();
var w = y();
var C = document.getElementsByTagName("*");
var k = null;
for (var L = 0; L < C.length; L++) {
    var A = C[L];
    if (v(A)) {
        if (E(A)) {
            k = A;
            break
        }
    }
}
if (A === null) {
    console.warn("Could not find a node of the right size. Please try a different page.");
    return
}
c();
S();
var O = [];
for (var L = 0; L < C.length; L++) {
    var A = C[L];
    if (v(A)) {
        O.push(A)
    }
}
})()    '>High一下</a> </li>

使用方法很簡(jiǎn)單,插進(jìn)相應(yīng)的HTML標(biāo)簽中即可。懂得JavaScript的朋友還可以另存到一個(gè)JS文件再引進(jìn)來(lái)試試,我這里就僅供參考了。

P.S. 代碼從這里來(lái)。再推薦下moxie的博客。


愛(ài)生活,愛(ài)技術(shù)。
愿結(jié)識(shí)各路小伙伴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,220評(píng)論 4 61
  • 海岸的邊上,有一只小船 上面載著神奇的夢(mèng) 駛向遠(yuǎn)方。 我看到真實(shí)的話 會(huì)想起澄凈的天空 水里游來(lái)游去的魚(yú) 和一臉真...
    加冰少糖閱讀 841評(píng)論 0 0
  • 以為忘記了, 回頭發(fā)現(xiàn)它不在原處, 一恍然才發(fā)現(xiàn)它在這里。 你說(shuō)不應(yīng)該開(kāi)始, 我選擇放棄, 遺忘了那段時(shí)間。 可越...
    筱岄珵閱讀 187評(píng)論 0 2
  • 昨天晚上半夜睡不著,把寒戰(zhàn)2翻出來(lái)看。其實(shí)寒戰(zhàn)第一部我也沒(méi)怎么仔細(xì)看,影帝的戲不管怎樣都還是有的看的。寒戰(zhàn)2的時(shí)候...
    魚(yú)塘沒(méi)有魚(yú)閱讀 498評(píng)論 0 0

友情鏈接更多精彩內(nèi)容