Affichage en un clic de tous les spoilers de la page
// ==UserScript==
// @name seeSpoilerJol
// @namespace jolBoost
// @description Affichage en un clic de tous les spoilers de la page
// @include http://forums.jeuxonline.info/showthread.php*
// @version 0.1.3
// @grant none
// ==/UserScript==
//Recup element ou placer le nouveau bouton
var previousElt = document.getElementById('intraforums1_menu');
var div = document.createElement('DIV');
div.style.marginBottom = '5px';
div.style.textAlign = 'right';
//Bouton
var clickButton = document.createElement('BUTTON');
clickButton.className = 'button show';
clickButton.onclick = showAllSpoiler;
clickButton.id = 'allSpoilButton';
var textButton = document.createTextNode('Afficher tous les spoilers');
clickButton.appendChild(textButton);
div.appendChild(clickButton);
//Texte explicatif
var br = document.createElement('BR');
var smallElt = document.createElement('SMALL');
var emElt = document.createElement('EM');
var explainTxt = document.createTextNode('Cliquez sur le bouton pour afficher tous les contenus en Spoiler dans la page');
emElt.appendChild(explainTxt);
smallElt.appendChild(emElt);
div.appendChild(br);
div.appendChild(smallElt);
//Et on ajoute le tout !
previousElt.parentNode.insertBefore(div, previousElt.nextSibling);
/** Fonction d'affichage du spoiler **/
function showAllSpoiler() {
var show = false;
var button = document.getElementById('allSpoilButton');
if (button.className == 'button show') {
show = true;
}
var elements = document.getElementsByClassName('spoiler');
for (var i = 0, l = elements.length; i < l; i++) {
if (show) {
elements[i].className = elements[i].className + ' spoiler-selected';
} else {
elements[i].className = 'spoiler';
}
}
while (button.firstChild) {
button.removeChild(button.firstChild);
}
if (show) {
var newtextButton = document.createTextNode('Cacher');
button.appendChild(newtextButton);
button.className = 'button hide';
} else {
var newtextButton = document.createTextNode('Afficher tous les spoilers');
button.appendChild(newtextButton);
button.className = 'button show';
}
}