NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Leetcode: re-caculate prograss // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author zhengyc // @match https://leetcode.com/problemset/* // @grant none // @license MIT // ==/UserScript== $(document).ready(function() { //设置每页显示所有题目,为了方便计数 var itemsPerPage = localStorage["problem-list:itemsPerPage"]; if (itemsPerPage != 9007199254740991) { localStorage["problem-list:itemsPerPage"] = 9007199254740991; location.reload(); } //延迟3s再执行,等待所有数据加载完毕 setTimeout(caculate, 3000); function caculate() { var allCnt = caculateTotallCnt(); var lockCnt = caculateLcokCnt(); var acCnt = caculateAcCnt(); console.info("隐藏题目总数量:" + lockCnt); changeCntContent(acCnt, allCnt - lockCnt); changetodoCntContent(allCnt - lockCnt - acCnt); } // 计算题目的总数量 function caculateTotallCnt() { var content = getStatusBarContent(); var totallCnt = content.split("/")[1]; return totallCnt.substring(0, 3); } // 计算加锁题目的数量 function caculateLcokCnt() { var lockItems = $(".fa-lock"); return lockItems.length; } // 计算通过的题目数量 function caculateAcCnt() { var content = getStatusBarContent(); return content.split("/")[0]; } function getStatusBarContent() { var statusBar = $("#welcome > span > span.label.label-primary.round"); return statusBar.text(); } function changeCntContent(acCnt, actualTotalCnt) { var cntContent = $(".progress-status>.text-success>.status"); cntContent.html(acCnt + "/" + actualTotalCnt); } function changetodoCntContent(todoCnt) { var todoContent = $("#user-progress-app > div > div > div > div > ul > li.list-group-item.chart-elem > div.row.progress-status > div.col-xs-4.text-primary.text-center > div"); todoContent.html(todoCnt); } });