MediaWiki:Common.js: Difference between revisions
From Future Of Mankind
No edit summary Tag: Manual revert |
No edit summary Tag: Reverted |
||
Line 37: | Line 37: | ||
console.log('btnHideGerman does not exist'); | console.log('btnHideGerman does not exist'); | ||
} | } | ||
$(document).ready(function() { | |||
$('.tooltip').hover(function() { | |||
var tooltip = $(this).find('.tooltiptext'); | |||
var tooltipWidth = tooltip.outerWidth(); | |||
var tooltipHeight = tooltip.outerHeight(); | |||
var offset = $(this).offset(); | |||
var windowWidth = $(window).width(); | |||
var windowHeight = $(window).height(); | |||
// Calculate the position | |||
var left = offset.left + ($(this).outerWidth() / 2) - (tooltipWidth / 2); | |||
var top = offset.top - tooltipHeight - 10; // 10px above the element | |||
// Adjust if the tooltip goes off-screen | |||
if (left < 0) { | |||
left = 0; // Align to the left edge | |||
} else if (left + tooltipWidth > windowWidth) { | |||
left = windowWidth - tooltipWidth; // Align to the right edge | |||
} | |||
if (top < 0) { | |||
top = offset.top + $(this).outerHeight() + 10; // Position below the element | |||
} | |||
tooltip.css({ top: top, left: left }); | |||
}); | |||
}); |
Revision as of 07:44, 9 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() { $('.tooltip').hover(function() { var tooltip = $(this).find('.tooltiptext'); var tooltipWidth = tooltip.outerWidth(); var tooltipHeight = tooltip.outerHeight(); var offset = $(this).offset(); var windowWidth = $(window).width(); var windowHeight = $(window).height(); // Calculate the position var left = offset.left + ($(this).outerWidth() / 2) - (tooltipWidth / 2); var top = offset.top - tooltipHeight - 10; // 10px above the element // Adjust if the tooltip goes off-screen if (left < 0) { left = 0; // Align to the left edge } else if (left + tooltipWidth > windowWidth) { left = windowWidth - tooltipWidth; // Align to the right edge } if (top < 0) { top = offset.top + $(this).outerHeight() + 10; // Position below the element } tooltip.css({ top: top, left: left }); }); });