Difference between revisions of "MediaWiki:MainMenu.js"
From Tycoon Gaming
m (Added Clickevent and Pointer to all MenuButtons cause MediaWiki limitations) |
m |
||
Line 45: | Line 45: | ||
}); | }); | ||
} | } | ||
− | |||
− | |||
$('.MenuButton').click(function() { | $('.MenuButton').click(function() { | ||
location.href = $(this).attr('data-href'); | location.href = $(this).attr('data-href'); | ||
}); | }); | ||
+ | |||
+ | $('.MenuButton').hover(function() { | ||
+ | // Store the original color | ||
+ | var originalColor = $(this).css('color'); | ||
+ | $(this).data('original-color', originalColor); | ||
+ | |||
+ | // Darken and apply the new color | ||
+ | var darkenedColor = darkenColor(originalColor, -0.10); // Darken by 20% | ||
+ | $(this).css('color', darkenedColor); | ||
+ | }, function() { | ||
+ | // Revert to original color | ||
+ | var originalColor = $(this).data('original-color'); | ||
+ | $(this).css('color', originalColor); | ||
+ | }); | ||
} | } | ||
}); | }); | ||
+ | |||
+ | function darkenColor(color, percent) { | ||
+ | var f = parseInt(color.slice(1), 16), | ||
+ | t = percent < 0 ? 0 : 255, | ||
+ | p = percent < 0 ? percent * -1 : percent, | ||
+ | R = f >> 16, | ||
+ | G = f >> 8 & 0x00FF, | ||
+ | B = f & 0x0000FF; | ||
+ | return "#" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1); | ||
+ | } |
Revision as of 19:12, 10 November 2023
$( document ).ready(function() { // Check if we're on the 'User:Donald/MainMenuTest' page if (mw.config.get('wgPageName') === 'MainMenuTest') { $('.MenuButton').css('cursor', 'pointer'); // Create the search form HTML var searchFormHTML = '<form action="/wiki/index.php" method="get">' + '<input type="hidden" name="title" value="Special:Search">' + '<input type="text" name="search" placeholder="Search the wiki" />' + '<input type="submit" value="Go" />' + '</form>'; // Identify the element where you want to add the search form var pageElement = document.getElementById('testaddsearchbar'); // Replace 'someElementID' with the actual ID // Insert the search form HTML into the identified element if (pageElement) { pageElement.innerHTML = searchFormHTML; } var MenuInput = '<input id="job-search-input" type="text" placeholder="Filter Jobs"></input>'; var pagejobElement = document.getElementById('testaddjobsearchbar'); // Replace 'someElementID' with the actual ID // Insert the search form HTML into the identified element if (pagejobElement) { pagejobElement.innerHTML = MenuInput; } var searchInput = document.getElementById('job-search-input'); if(searchInput) { searchInput.addEventListener('input', function() { var searchTerm = this.value.toLowerCase(); var jobsList = document.getElementById('jobs-list'); var jobs = jobsList.getElementsByClassName('job-item'); Array.from(jobs).forEach(function(job) { var jobName = job.getAttribute('data-jobname').toLowerCase(); if (searchTerm === '' || jobName.includes(searchTerm)) { job.style.display = ''; // Show all or matching jobs } else { job.style.display = 'none'; // Hide non-matching jobs } }); }); } $('.MenuButton').click(function() { location.href = $(this).attr('data-href'); }); $('.MenuButton').hover(function() { // Store the original color var originalColor = $(this).css('color'); $(this).data('original-color', originalColor); // Darken and apply the new color var darkenedColor = darkenColor(originalColor, -0.10); // Darken by 20% $(this).css('color', darkenedColor); }, function() { // Revert to original color var originalColor = $(this).data('original-color'); $(this).css('color', originalColor); }); } }); function darkenColor(color, percent) { var f = parseInt(color.slice(1), 16), t = percent < 0 ? 0 : 255, p = percent < 0 ? percent * -1 : percent, R = f >> 16, G = f >> 8 & 0x00FF, B = f & 0x0000FF; return "#" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1); }