Jyobutsu Fork

  • /*
     * @title Jyobutsu
     * @description fade entry as omairi on Quyo
     * @include http://quyo.hatelabo.jp/*
     * @contributor noromanba   http://let.hatelabo.jp/noromanba/let/hJme0YXx6bYk (Fork of)
     * @license MIT http://opensource.org/licenses/MIT
     * @javascript_url
     */
    
    // recommend use w/ quyo random autopager(ize)
    // http://let.hatelabo.jp/yuta25/let/hJmezJuridFx
    // https://gist.github.com/vzvu3k6k/105bbfac74fe004c64b6
    
    // synergy w/ Omairi
    // http://let.hatelabo.jp/noromanba/let/hJme0YXx6bYk
    
    // e.g.
    // http://quyo.hatelabo.jp/items/5477084a6137350002000000
    (function () {
        if (!/^quyo\.hatelabo\.jp$/.test(location.hostname)) return;
    
        var selects = (function () {
            var slice = Array.prototype.slice,
                body = document.body;
    
            return function (query, ctx) {
                ctx = ctx || body;
                return slice.call(ctx.querySelectorAll(query));
            };
        })();
    
        var me = document.body.querySelector('.nav-user-icon a');
        if (!me || !me.href) return;
    
        // TBD change color/opacity when ::select
        var fade = function (ctx) {
            selects('article', ctx).forEach(function (article) {
                selects('.fav-user a', article).some(function (user) {
                    if (me.href === user.href) { // TBD omit me; always fade
                        var fav = article.querySelector('.fav-user .number');
                        //*/
                        var title = article.querySelector('.entry-title');
                        var content = article.querySelector('.entry-content');
                        content.style.opacity = title.style.opacity = 3 / Number(fav.textContent);
                        /*/
                        article.style.opacity = 3 / Number(fav.textContent);
                        //*/
                        return true;
                    }
                });
            });
        };
        fade();
    
        new MutationObserver(function (records) {
            records.forEach(function (record) {
                fade(record.target);
            });
        }).observe(document.body, { childList: true, subtree: true });
    })();
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2014/12/26 21:33:33 - 2014-12-26
  2. 2014/12/26 21:22:00 - 2014-12-26
  3. 2014/12/26 20:56:12 - 2014-12-26
  4. 2014/12/26 20:51:24 - 2014-12-26