Flackern im Untermenü Klicken Sie in WordPress Admin -MenüJavaScript

Javascript-Forum
Anonymous
 Flackern im Untermenü Klicken Sie in WordPress Admin -Menü

Post by Anonymous »

Ich arbeite daran, das WordPress-Admin-Menü so anzupassen, dass ein reibungsloses, erweiterbares/zusammenlagbares Verhalten auf Klicken durch Hinzufügen des CSS und des JavaScripts besteht. /> Klicken Sie erneut auf demselben Menüelement auf oberster Ebene, das das Untermenü stieß. /> < /ul>
Der aktuelle Code funktioniert fast, aber es gibt einen spürbaren Flacker (ein kurzer Zusammenbruch und eine erneute Expansion) beim Klicken auf ein Untermenü-Element und manchmal beim wiederholten Klicken auf denselben Menüpunkt der obersten Ebene. Dies scheint durch den JavaScript-Code verursacht zu werden, der die gesamte Menüstruktur in jedem Klick im Menü neu bewertet, auch wenn es nicht erforderlich ist, den geöffneten/geschlossenen Zustand des Menüs zu ändern. Ausgabe. < /p>

Code: Select all

(function($) {
$(document).ready(function() {

$('#adminmenu .wp-submenu').hide();
$('#adminmenu > li.wp-has-submenu > a').off();
$('#adminmenu > li.wp-has-submenu > a').on('click', function(e) {
e.preventDefault();
var $menuItem = $(this).parent();
var $submenu = $menuItem.find('.wp-submenu').first();

if ($submenu.is(':visible')) {
$submenu.slideUp(150, function() {
$menuItem.removeClass('opensub');
});
} else {
$('#adminmenu .wp-submenu:visible').slideUp(150, function() {
$(this).parent().removeClass('opensub');
});

$submenu.slideDown(150, function() {
$menuItem.addClass('opensub');
});
}
});

var $currentMenuItem = $('#adminmenu li.current');
if ($currentMenuItem.length) {
var $parentMenu = $currentMenuItem.closest('li.wp-has-submenu');
$parentMenu.addClass('opensub');
$parentMenu.find('.wp-submenu').show();
}
});
})(jQuery);
< /code>
#adminmenu li.wp-has-submenu .wp-submenu {
position: static !important;
display: none;
box-shadow: none !important;
}

#adminmenu .wp-not-current-submenu .wp-submenu,
.folded #adminmenu .wp-has-current-submenu .wp-submenu {
border-left-width: 0 !important;
border: 0 !important;
}
#adminmenu .wp-has-current-submenu ul>li>a, .folded #adminmenu li.menu-top .wp-submenu>li>a {
padding: 5px 14px !important;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post