MediaWiki:Common.js: Difference between revisions
From Future Of Mankind
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
| Line 44: | Line 44: | ||
$(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.'); | ||
// | // Create the tooltip element if it doesn't exist | ||
var tooltip = $(this).find(' | var tooltip = $(this).find('.tooltip'); | ||
if (tooltip.length === 0) { | |||
tooltip = $(' | |||
').appendTo('body'); | |||
} | |||
// Set the tooltip content | |||
tooltip.text($(this).attr('data-tooltip')); | |||
// Get the dimensions of the tooltip | |||
var tooltipWidth = tooltip.outerWidth(); | var tooltipWidth = tooltip.outerWidth(); | ||
var | var tooltipHeight = tooltip.outerHeight(); | ||
// Calculate the left position | |||
var leftPosition = this.offsetLeft + (this.offsetWidth / 2) - (tooltipWidth / 2); | |||
var topPosition = this.offsetTop - tooltipHeight - 10; // Position above the element | |||
// | // Adjust left position if it goes off the right edge | ||
if (leftPosition + tooltipWidth > $(window).width()) { | |||
leftPosition = $(window).width() - tooltipWidth - 10; // 10px padding from the right edge | leftPosition = $(window).width() - tooltipWidth - 10; // 10px padding from the right edge | ||
} | } | ||
// | // Adjust left position if it goes off the left edge | ||
if (leftPosition < 0) { | if (leftPosition < 0) { | ||
leftPosition = 10; // 10px padding from the left edge | leftPosition = 10; // 10px padding from the left edge | ||
} | } | ||
tooltip.css(' | // Adjust top position if it goes off the top edge | ||
if (topPosition < 0) { | |||
topPosition = this.offsetTop + this.offsetHeight + 10; // Position below the element | |||
} | |||
// Set the tooltip position | |||
tooltip.css({ | |||
left: leftPosition + 'px', | |||
top: topPosition + 'px', | |||
display: 'block' // Show the tooltip | |||
}); | |||
}, function() { | }, function() { | ||
// Clear the tooltip content | // Clear the tooltip content and hide it | ||
$(this).attr('data-tooltip', ''); | $(this).attr('data-tooltip', ''); | ||
$(this).find('.tooltip').remove(); // Remove the tooltip element | |||
}); | }); | ||
}); | }); | ||
Revision as of 08:16, 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.');
// Create the tooltip element if it doesn't exist
var tooltip = $(this).find('.tooltip');
if (tooltip.length === 0) {
tooltip = $('
').appendTo('body');
}
// Set the tooltip content
tooltip.text($(this).attr('data-tooltip'));
// Get the dimensions of the tooltip
var tooltipWidth = tooltip.outerWidth();
var tooltipHeight = tooltip.outerHeight();
// Calculate the left position
var leftPosition = this.offsetLeft + (this.offsetWidth / 2) - (tooltipWidth / 2);
var topPosition = this.offsetTop - tooltipHeight - 10; // Position above the element
// Adjust left position if it goes off the right edge
if (leftPosition + tooltipWidth > $(window).width()) {
leftPosition = $(window).width() - tooltipWidth - 10; // 10px padding from the right edge
}
// Adjust left position if it goes off the left edge
if (leftPosition < 0) {
leftPosition = 10; // 10px padding from the left edge
}
// Adjust top position if it goes off the top edge
if (topPosition < 0) {
topPosition = this.offsetTop + this.offsetHeight + 10; // Position below the element
}
// Set the tooltip position
tooltip.css({
left: leftPosition + 'px',
top: topPosition + 'px',
display: 'block' // Show the tooltip
});
}, function() {
// Clear the tooltip content and hide it
$(this).attr('data-tooltip', '');
$(this).find('.tooltip').remove(); // Remove the tooltip element
});
});