Hummingbird 10 Point Rating

Converts Hummingbird ratings to a 10 point scale

目前为 2015-04-29 提交的版本。查看 最新版本

// ==UserScript==
// @name                Hummingbird 10 Point Rating
// @description         Converts Hummingbird ratings to a 10 point scale
// @author              Adrien Pyke
// @version             1.3.1
// @require             http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @require             https://greasyfork.org/scripts/1003-wait-for-key-elements/code/Wait%20for%20key%20elements.js?version=2765
// @include             http*://hummingbird.me/*
// @namespace           https://greasyfork.org/users/649
// ==/UserScript==

var hummingbird10PointRating = function() {
    var convertRatingsList = function(element) {
            element = element.parent();
            var rating = element.children("span:eq(1)").text();
            element.find("i.fa-star").remove();
            element.children().hide();
            element.html(element.html() + "<span class='10point'>" + parseInt(rating * 2) + "</span>");
            element.children("span:eq(1)").bind("DOMSubtreeModified", function() {
                rating = element.children("span:eq(1)").text();
                element.find(".10point").text(parseInt(rating * 2));
            });
        },
        convertRatingsAnime = function(element) {
            var rating = element.text();
            if (!isNaN(rating)) {
                element.get(0).childNodes[1].textContent = Number(rating * 2).toFixed(2);
            }
            element.bind("DOMSubtreeModified", function(){
                element.unbind("DOMSubtreeModified");
                convertRatingsAnime(element);
            });
        },
        convertRatingsColumn = function(element) {
            element = element.parent();
            var title = element.attr("title").split(" ");
            var rating = title[title.length - 1];
            if (!isNaN(rating)) {
                title[title.length - 1] = parseInt(rating * 2);
            }

            element.attr("title", title.join(" "));
            element.attr("data-tooltip", element.attr("title"));
        },
        convertRatingsBreakdown = function(element) {
            var score = element.find("h1.score");
            score.children().remove();
            var decimal = element.find("h5.decimal-score");
            decimal.children().remove();
            var rating = parseInt((parseFloat(score.text()) + parseFloat(decimal.text())) * 2);
            element.html("<h1 class='score' style='font-size:160px; line-height: 200px'>" + rating + "</h1>");
        },
        convertRatingsVerdict = function(element) {
            element.children().remove();
            element.text(parseInt(element.text() * 2));
        };

    waitForKeyElements("div.hb-score span.highlight", convertRatingsAnime, false);
    waitForKeyElements("div.rating-column", convertRatingsColumn, false);
    waitForKeyElements("div.score-block", convertRatingsBreakdown, false);
    waitForKeyElements("div.dec-score strong", convertRatingsVerdict, false);
    waitForKeyElements("div.list-item-score span i.fa-star", convertRatingsList, false);
}();