MediaWiki:Common.js: Difference between revisions
From Future Of Mankind
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
| Line 43: | Line 43: | ||
// Set the tooltip content from the data attribute | // 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.'); | $(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.'); | ||
// Position the tooltip | |||
const tooltip = $(this).attr('data-tooltip'); | |||
const tooltipElement = $(' | |||
').text(tooltip); | |||
$('body').append(tooltipElement); | |||
const offset = $(this).offset(); | |||
const width = $(this).outerWidth(); | |||
const tooltipWidth = tooltipElement.outerWidth(); | |||
// Calculate position | |||
let left = offset.left + (width / 2) - (tooltipWidth / 2); | |||
if (left < 0) { | |||
left = 0; // Prevent overflow to the left | |||
} else if (left + tooltipWidth > $(window).width()) { | |||
left = $(window).width() - tooltipWidth; // Prevent overflow to the right | |||
} | |||
tooltipElement.css({ | |||
top: offset.top - tooltipElement.outerHeight() - 10, // Position above the element | |||
left: left, | |||
position: 'absolute', | |||
zIndex: 1000 | |||
}); | |||
}, function() { | }, function() { | ||
// Clear the tooltip content | // Clear the tooltip content | ||
$(this).attr('data-tooltip', ''); | $(this).attr('data-tooltip', ''); | ||
$('.tooltip').remove(); // Remove the tooltip element | |||
}); | }); | ||
}); | }); | ||
Revision as of 08:32, 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').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.');
// Position the tooltip
const tooltip = $(this).attr('data-tooltip');
const tooltipElement = $('
').text(tooltip);
$('body').append(tooltipElement);
const offset = $(this).offset();
const width = $(this).outerWidth();
const tooltipWidth = tooltipElement.outerWidth();
// Calculate position
let left = offset.left + (width / 2) - (tooltipWidth / 2);
if (left < 0) {
left = 0; // Prevent overflow to the left
} else if (left + tooltipWidth > $(window).width()) {
left = $(window).width() - tooltipWidth; // Prevent overflow to the right
}
tooltipElement.css({
top: offset.top - tooltipElement.outerHeight() - 10, // Position above the element
left: left,
position: 'absolute',
zIndex: 1000
});
}, function() {
// Clear the tooltip content
$(this).attr('data-tooltip', '');
$('.tooltip').remove(); // Remove the tooltip element
});
});