親がStackOverflowでここをクリックした場合、jQueryのサブメニューを表示するという非常に良い質問が見つかりました。次に、jsfiddle http://jsfiddle.net/JtAeh/4/を作成して、css と html で試してみました。出来た!しかし、私が使用しているワードプレスのテーマでは、新しいカスタム スクリプトを無効にするスクリプトがいくつかあります。
親テーマのスクリプトを子テーマのカスタム スクリプトでエレガントな方法で上書きすることは可能ですか?
または、このスクリプトを変更するにはどうすればよいですか:
var mobile_menu = function() {
if( $(window).width() < 600 && $('body').hasClass('responsive') ) {
$( '#nav > ul, #nav .menu > ul' ).mobileMenu({
subMenuDash : '-'
});
$( '#nav > ul, #nav .menu > ul' ).hide();
}
}
mobile_menu();
var show_dropdown = function()
{
var options;
containerWidth = $('#header').width();
marginRight = $('#nav ul.level-1 > li').css('margin-right');
submenuWidth = $(this).find('ul.sub-menu').outerWidth();
offsetMenuRight = $(this).position().left + submenuWidth;
leftPos = -18;
if ( offsetMenuRight > containerWidth )
options = { left:leftPos - ( offsetMenuRight - containerWidth ) };
else
options = {};
$('ul.sub-menu:not(ul.sub-menu li > ul.sub-menu), ul.children:not(ul.children li > ul.children)', this).css(options).stop(true, true).fadeIn(300);
}
var hide_dropdown = function()
{
$('ul.sub-menu:not(ul.sub-menu li > ul.sub-menu), ul.children:not(ul.children li > ul.children)', this).fadeOut(300);
}
$('#nav ul > li').hover( show_dropdown, hide_dropdown );
このきちんとしたスクリプトに:
$('ul li a').click(function() {
$(this).parent().find('ul.sub-menu').toggle();
return false;
});
?
.hover
to.click
と.fadeIn(300)
toを変更しようとしまし.toggle
たが、うまくいきませんでした。
誰かがこの質問に答えられることを願っています。