MediaWiki:Common.js
From Future Of Mankind
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */ //collapsible table column test, based on: https://codepen.io/feger/pen/eDybC $(".btnHideEnglish").click(function() { console.log('Hiding first column of table with an id of report'); $("table#collapsible_report > tbody:last-child > tr > th:first-child, table#collapsible_report > tbody:last-child > tr > td:first-child").toggle(); $(this).text($(this).text() == "Hide English" ? "Show English" : "Hide English"); $("table#collapsible_report").css({ "width": $(this).text() == "Show English" ? "80%" : "100%" }); }); $(".btnHideHigh-German").click(function() { console.log('Hiding first column of table with an id of report'); $("table#collapsible_report > tbody:last-child > tr > th:last-child, table#collapsible_report > tbody:last-child > tr > td:last-child").toggle(); $(this).text($(this).text() == "Hide High German" ? "Show High German" : "Hide High German"); $("table#collapsible_report").css({ "width": $(this).text() == "Show High German" ? "80%" : "100%" }); }); $(".btnHideGerman").click(function() { console.log('Hiding first column of table with an id of report'); $("table#collapsible_report > tbody:last-child > tr > th:last-child, table#collapsible_report > tbody:last-child > tr > td:last-child").toggle(); $(this).text($(this).text() == "Hide German" ? "Show German" : "Hide German"); $("table#collapsible_report").css({ "width": $(this).text() == "Show German" ? "80%" : "100%" }); }); // hide the german by default, on page load, but only if the btnHideGerman element exists on the page if (document.getElementById("btnHideGerman")) { console.log('btnHideGerman exists'); //$("#btnHideGerman").click(); } else { // do stuff console.log('btnHideGerman does not exist'); } document.querySelectorAll('.WD-Ausartung, .WD-Gewalt').forEach(function(element) { // Set the data-tooltip attribute using jQuery $(element).attr('data-tooltip', 'Explanation of the Plejaren language scientists, given to Billy on the 27th of August 2010: Ausartung means a very bad get-out of the control of the good human nature.'); element.addEventListener('mouseenter', function(event) { const tooltip = this.getAttribute('data-tooltip'); const tooltipElement = document.createElement('div'); tooltipElement.className = 'tooltip'; tooltipElement.innerText = tooltip; document.body.appendChild(tooltipElement); const rect = this.getBoundingClientRect(); const tooltipRect = tooltipElement.getBoundingClientRect(); // Calculate position let top = rect.top - tooltipRect.height - 10; // 10px above the hovered element let left = rect.left + (rect.width / 2) - (tooltipRect.width / 2); // Centered // Adjust if off-screen if (left < 0) { left = 10; // 10px from the left edge } else if (left + tooltipRect.width > window.innerWidth) { left = window.innerWidth - tooltipRect.width - 10; // 10px from the right edge } // Set position tooltipElement.style.top = ${top}px ; tooltipElement.style.left = ${left}px ; tooltipElement.style.opacity = 1; tooltipElement.style.visibility = 'visible'; // Remove tooltip on mouse leave this.addEventListener('mouseleave', function() { tooltipElement.remove(); }); }); });