Difference between revisions of "MediaWiki:Gadget-TimelessSidebarDropdowns.js"

From Nookipedia, the Animal Crossing wiki
(Only applying to main site nav)
(Remove extra selector for mw-portlet-body, not needed due to parent mw-portlet being selected)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
/**
 +
* Turns each section in the Timeless sidebar into a dropdown menu.
 +
* Created by SuperHamster on Nookipedia (https://nookipedia.com/wiki/User:SuperHamster)
 +
* Licensed under CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/)
 +
* TODO:
 +
*  Make mobile-friendly (after opening a menu, clicking on header should close menu)
 +
**/
 +
 
var timer;
 
var timer;
  
Line 8: Line 16:
 
$(this).children('.mw-portlet-body')[0].style.display = 'block';
 
$(this).children('.mw-portlet-body')[0].style.display = 'block';
 
});
 
});
$($('#site-navigation .sidebar-inner .mw-portlet:not(#p-navigation)'), $('#site-navigation .sidebar-inner .mw-portlet:not(#p-navigation)').children('.mw-portlet-body')[0]).on("mouseleave", function () {
+
$('#site-navigation .sidebar-inner .mw-portlet:not(#p-navigation)').on("mouseleave", function () {
 
timer = setTimeout(hide($(this)), 10);
 
timer = setTimeout(hide($(this)), 10);
 
}).mouseenter(function() {
 
}).mouseenter(function() {
 
clearTimeout(timer);
 
clearTimeout(timer);
 
});
 
});

Latest revision as of 04:27, August 29, 2021

/**
 * Turns each section in the Timeless sidebar into a dropdown menu.
 * Created by SuperHamster on Nookipedia (https://nookipedia.com/wiki/User:SuperHamster)
 * Licensed under CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/)
 * TODO:
 *   Make mobile-friendly (after opening a menu, clicking on header should close menu)
 **/

var timer;

function hide(element) {
	$(element).children('.mw-portlet-body')[0].style.display = "none"
}
	
$('#site-navigation .sidebar-inner .mw-portlet:not(#p-navigation)').on("mouseover", function () {
	$(this).children('.mw-portlet-body')[0].style.display = 'block';
});
$('#site-navigation .sidebar-inner .mw-portlet:not(#p-navigation)').on("mouseleave", function () {
	timer = setTimeout(hide($(this)), 10);
}).mouseenter(function() {
	clearTimeout(timer);
});