我是新来的。 我有一个WordPress网站http://invitroplanttech.se/products/。单击产品菜单项时,子菜单项在短暂显示后消失。此外,单击菜单项会导致重新加载页面
当我点击产品子菜单出现然后去,但是我需要子菜单才会迟到。 这是jquery代码:
<script>
$(document).ready(function() {
$('.home').addClass('current-menu-item');
$('.navigation ul ul li a').hide();
$(".navigation ul li:nth-child(3)").click(function(){
$('.navigation ul ul li a').show();
setTimeout( "jQuery('.navigation ul ul li a').hide();",10000 );
});
});
答案 0 :(得分:0)
您的菜单“闪烁”/只出现片刻的问题是因为您聆听了<li>
上的点击,但您发出了<a>
事件。当您点击具有有效<a>
属性的@href
代码时,所有常见浏览器都会加载新页面。
使用您的代码,当您点击此<li>
时,您还可以点击<a>
,重新加载页面并隐藏您的菜单。
要避免重新加载,您需要通过返回<a>
来停止false
代码上的活动(请参阅下面的代码)。
我做了a JSFiddle with your HTML code
$(function() {
$('.navigation li').has('> ul').children('a').click(function(){
$(this).parent().children('ul').toggle();
return false;
});
});
.navigation li ul { display: none; }
.navigation li:hover ul { display: block; }
这是一种非常简单的方法,不需要将完整的库加载为JQuery,并且可以在所有最近的浏览器上正常工作。
与您的需求的不同之处在于您无法轻松处理“点击”,这就是为什么这个例子在结束时执行此操作。
答案 1 :(得分:0)
我遇到与您相同的问题,尝试将'#' in your href tag
放入“li”元素中。
<li id="your_button_id"><a href="#">Item Name</a></li>
在你的javascript添加中,
$("#your_button_id").click(function(e) {
$('#display_menu1').css({"display":"block"});
$('#display_menu2').css({"display":"none"});
});