Converts Hummingbird ratings to a 10 point scale
目前為
// ==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);
}();