NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Reddit comment vote between arrows
// @version 0.3
// @description Displays the vote count of a comment between upvote/downvote arrows
// @copyright 2014, ExaPaw
// @website http://www.reddit.com/u/ExaPaw
// @include http://*.reddit.com/*/*/comments/*
// @updateURL http://exapawdevtest.bplaced.net/userscripts/us_reddit_comment_score_between_arrows.meta.js
// @downloadURL http://exapawdevtest.bplaced.net/userscripts/us_reddit_comment_score_between_arrows.js
// ==/UserScript==
var voteAreaElements = document.getElementsByClassName('midcol');
for (t=0; t<voteAreaElements.length; t++) {
// get the correct upvote arrow element
var arrowUpElement = voteAreaElements[t].getElementsByClassName('arrow')[0];
var targetDiv = null;
var newDiv = null;
var stringScore = null;
var integerScore = null;
var className = null;
var scoreColor = null;
if (arrowUpElement.parentElement.nextSibling.lastChild != null && arrowUpElement.parentElement.nextSibling.lastChild.firstChild != null &&arrowUpElement.parentElement.nextSibling.className.indexOf('reddit-entry') > -1) {
stringScore = arrowUpElement.parentElement.nextSibling.lastChild.firstChild.textContent;
stringScore = stringScore.substring(0,stringScore.indexOf(' '));
} else {
if (arrowUpElement.parentElement.nextSibling.lastChild != null && arrowUpElement.parentElement.nextSibling.lastChild.firstChild != null && arrowUpElement.parentElement.nextSibling.lastChild.firstChild.className == "tagline") {
stringScore = arrowUpElement.parentElement.nextSibling.lastChild.firstChild.getElementsByClassName('score')[0].textContent;
stringScore = stringScore.substring(0,stringScore.indexOf(' '));
} else {
continue;
}
}
for (i=0; i<3; i++) {
switch (i) {
case 0:
integerScore = parseInt(stringScore);
className = "score dislikes";
scoreColor = "#9494ff";
break;
case 1:
integerScore += 1;
className = "score unvoted";
scoreColor = "#636363";
break;
case 2:
integerScore += 1;
className = "score likes";
scoreColor = "#ff8b60";
break;
}
// create a new div element
var newDiv = document.createElement("div");
// create a new text node containing the score
var newContent = document.createTextNode(integerScore);
// append the text node to the div element
newDiv.appendChild(newContent);
// set the attribute 'class' to 'score unvoted' and assign it
var attribute = document.createAttribute("class");
attribute.nodeValue = className;
newDiv.setAttributeNode(attribute);
newDiv.style.textAlign = "center";
newDiv.style.fontWeight = "bold";
newDiv.style.color = scoreColor;
newDiv.style.zIndex = 100;
arrowUpElement.parentNode.style.width = "inherit";
// reference the correct arrowupelement
targetDiv = arrowUpElement;
//determine the parent node
var parentDiv = targetDiv.parentNode;
//insert the div after the upvote arrow
parentDiv.insertBefore(newDiv, targetDiv.nextSibling);
}
}