返回首頁 

Greasy Fork is available in English.

BunPro: JLPT Percentage

Adds percentages to the progress bars.

// ==UserScript==// @name         BunPro: JLPT Percentage// @namespace    http://tampermonkey.net/// @version      0.2.12// @description  Adds percentages to the progress bars.// @author       Kumirei// @match        https://bunpro.jp/*// @require      https://greasyfork.org/scripts/432418-wait-for-selector/code/Wait%20For%20Selector.js?version=974366// @grant        none// ==/UserScript==;(function ($, wfs) {$('head').append('<style id="BunProPercentageScript">' +'    .profile-jlpt-level .progress .percentage {' +'        position: absolute; ' +'        left: 50%;' +'        line-height: 13px;' +'        font-size: 12px;' +'        margin-top: -1px;' +'        transform: translate(-50%,1px);' +'        text-shadow: 1px 0px black;' +'    }' +'</style>',)const percentNumberToString = (percentNumber) => {if (percentNumber === 0) {return '0%' // instead of "0.00%";} else if (percentNumber === 100) {return '100%'} else {return (percentNumber.toFixed(1) + '%').replace('.0%', '%')}}wfs.wait('.profile-jlpt-level .progress-bar', function (e) {var percentNumber = Number($(e).attr('aria-valuenow'))var percentString = percentNumberToString(percentNumber)const parentNode = $(e.parentNode)for (const child of parentNode[0].children) {if (child.classList.contains('percentage')) {return}}parentNode.append('<span class="percentage">' + percentString + '</span>')})wfs.wait('.profile-jlpt-level', function (e) {if (!$('.profile-jlpt-level.total').length) {var bar = $('.profile-jlpt-level')[0].cloneNode(true)bar.className += ' total'$(bar).find('.percentage').remove()bar.childNodes[1].innerText = 'Tot'var barelem = $(bar).find('.progress-bar')var total = 0var learned = 0$('[id$="jlpt_level_progress_bars"] .progress-count').each(function (i, e) {var counts = e.childNodes[0].textContent.split('/')total += Number(counts[1])learned += Number(counts[0])})var percentage = (learned / total) * 100barelem.attr('aria-valuenow', percentage)barelem.attr('style', 'width: ' + percentage + '%;')barelem.parent().append('<span class="percentage">' + percentNumberToString(percentage) + '</span>')$(bar).find('.progress-count')[0].innerText = String(learned) + '/' + String(total)var lastbar = $('.profile-jlpt-level')$(lastbar[lastbar.length - 1]).after(bar)}})})(window.jQuery, window.wfs)