try to take over the world!
当前为
// ==UserScript==
// @name c-plusplus.net Alternating Post Backgrounds
// @namespace http://tampermonkey.net/
// @version 0.6
// @description try to take over the world!
// @author Swordfishx86
// @include https://www.c-plusplus.net/*
// @include http://www.c-plusplus.net/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
var background_colors = [ "#f2f2f2", "#f9f9f9" ];
var blockquote_line_color = "#c9c9c9";
function beautify(object, index)
{
object.style.padding = "15px 10px 15px 10px"; // top right bottom left
object.style.margin = "18px 0px 18px 0px";
object.style.backgroundColor = background_colors[index % 2];
}
function posts_beautifier(selector, jNode) {
var x = document.querySelectorAll("div.post-bar > hr");
for (var i = 0; i < x.length; ++i) {
x[i].style.display = "none";
}
x = document.querySelectorAll(selector);
for (i = 0; i < x.length; ++i) {
beautify(x[i], i);
var lines = x[i].querySelectorAll("hr");
lines[lines.length - 1].style.display = "none";
var bq = x[i].querySelectorAll("blockquote");
for(var n = 0; n < bq.length; ++n ) {
bq[n].style.borderLeft = "5px solid " + blockquote_line_color;
bq[n].style.backgroundColor = background_colors[(i + 1) % 2];
bq[n].style.margin = "0 0 10px";
bq[n].style.padding = "10px 10px";
}
}
}
function generic_beautifier(selector, jNode)
{
var x = document.querySelectorAll(selector);
for (var i = 0; i < x.length; ++i) {
beautify(x[i], i);
}
}
function waitForKeyElements(selectorTxt, actionFunction)
{
var targetNodes = $(selectorTxt), btargetsFound;
if (targetNodes && targetNodes.length > 0) {
btargetsFound = true;
targetNodes.each ( function () {
var jThis = $(this);
var alreadyFound = jThis.data ('alreadyFound') || false;
if (!alreadyFound) {
var cancelFound = actionFunction (jThis);
if (cancelFound) {
btargetsFound = false;
} else {
jThis.data ('alreadyFound', true);
}
}
} );
}
else {
btargetsFound = false;
}
var controlObj = waitForKeyElements.controlObj || {};
var controlKey = selectorTxt.replace (/[^\w]/g, "_");
var timeControl = controlObj [controlKey];
if ( ! timeControl) {
timeControl = setInterval(function(){waitForKeyElements(selectorTxt, actionFunction, false, false);}, 300);
controlObj [controlKey] = timeControl;
}
waitForKeyElements.controlObj = controlObj;
}
var selectors = [
"#content > div.row > div.topic.col-lg-12 > ul > li",
"#content > div.row > div.category.col-lg-12 > ul > li",
"#content > div.row > div.col-lg-12 > ul > li",
"#content > div.row > div.category.col-lg-12 > div.subcategory > ul > li",
"#content > div.recent > div.category > ul > li",
"#content > div.popular > div.category > ul > li",
"#content > div.unread > div.category > ul > li"
];
waitForKeyElements( selectors[0], posts_beautifier.bind(null, selectors[0]));
for(var i = 1; i < selectors.length; ++i) {
waitForKeyElements (selectors[i], generic_beautifier.bind(null, selectors[i]));
}