MediaWiki:Common.js: Difference between revisions
From Future Of Mankind
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
Line 53: | Line 53: | ||
var tooltipWidth = 384; // Max width of the tooltip | var tooltipWidth = 384; // Max width of the tooltip | ||
var tooltipHeight = 50; // Approximate height of the tooltip | var tooltipHeight = 50; // Approximate height of the tooltip | ||
var leftPosition = offset.left + ($(this).outerWidth() / | var leftPosition = offset.left + ($(this).outerWidth() / 6) - (tooltipWidth / 6); | ||
var topPosition = offset.top - tooltipHeight - 40; // 10px offset above the element | var topPosition = offset.top - tooltipHeight - 40; // 10px offset above the element | ||
// Adjust position if it goes offscreen | // Adjust position if it goes offscreen | ||
if (leftPosition < 0) { | if (leftPosition < 0) { | ||
leftPosition = | leftPosition = 200; // 200px from the left edge | ||
} else if (leftPosition + tooltipWidth > $(window).width()) { | } else if (leftPosition + tooltipWidth > $(window).width()) { | ||
leftPosition = $(window).width() - tooltipWidth - 90; // 90px from the right edge | leftPosition = $(window).width() - tooltipWidth - 90; // 90px from the right edge |
Revision as of 13:21, 12 September 2024
/* 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).ready(function() { $('.WD-Ausartung, .WD-Gewalt').hover(function() { // Set the tooltip content from the data attribute $(this).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.'); // Get the tooltip element var tooltip = $(this).find(':before'); // Calculate the position var offset = $(this).offset(); var tooltipWidth = 384; // Max width of the tooltip var tooltipHeight = 50; // Approximate height of the tooltip var leftPosition = offset.left + ($(this).outerWidth() / 6) - (tooltipWidth / 6); var topPosition = offset.top - tooltipHeight - 40; // 10px offset above the element // Adjust position if it goes offscreen if (leftPosition < 0) { leftPosition = 200; // 200px from the left edge } else if (leftPosition + tooltipWidth > $(window).width()) { leftPosition = $(window).width() - tooltipWidth - 90; // 90px from the right edge } // Set the tooltip position tooltip.css({ left: leftPosition, top: topPosition }); }, function() { // Clear the tooltip content $(this).attr('data-tooltip', ''); }); });