Jquery 响应菜单:第二次单击时转到URL
我的网站上有响应菜单Jquery 响应菜单:第二次单击时转到URL,jquery,html,css,Jquery,Html,Css,我的网站上有响应菜单 我想在第一次单击时显示菜单下拉列表,第二次单击时,菜单选项卡转到URL 小提琴: HTML <ul id="menu-principal"> <li><a href="#" class="one">Zero</a></li> <li><a href="one.html" class="two">One</a> <ul> <li>
我想在第一次单击时显示菜单下拉列表,第二次单击时,菜单选项卡转到URL
小提琴: HTML
<ul id="menu-principal">
<li><a href="#" class="one">Zero</a></li>
<li><a href="one.html" class="two">One</a>
<ul>
<li><a href="one1.html" class="one1">One 1</a></li>
<li><a href="one1.html" class="one2">One 2</a>
<ul><li><a href="one1.html" class="one2">One 2</a></li>
<li><a href="one1.html" class="one2">One 2</a></li></ul>
</li>
<li><a href="one1.html" class="one3">One 3</a></li>
</ul>
</li>
<li><a href="two.html" class="two">Two</a>
<ul>
<li><a href="two1" class="two1">Two 1</a></li>
<li><a href="two2" class="two2">Two 2</a></li>
<li><a href="two3" class="two3">Two 3</a></li>
</ul>
</li>
</ul>
JS
ul#menu-principal { margin: 0; padding: 0; margin-left: 30px; list-style: none; }
ul#menu-principal li { border-bottom: 1px solid #164a7f; }
ul#menu-principal li li:last-child { width: 85px; border-bottom: none; }
ul#menu-principal li a { display: block; height: 28px; background: #FFF; }
ul#menu-principal ul{padding:0 0 0 30px; width: 150px}
ul#menu-principal li li { }
$(document).ready(function () {
$('#menu-principal li').children('ul').hide();
$('#menu-principal li').click(function () {
if ($(this).children('ul').is('') == true) {
return false
}
})
});
替换以下代码:
$('#menu-principal li').click(function () {
if ($(this).children('ul').is('') == true) {
return false
}
})
if ($(this).children('ul').is('') == true) {
return false
}
if ($(this).children('ul,p').is(':hidden') == true) {
$(this).children('ul,p').slideDown('slow');
return false
}
带有以下内容
$('#menu-principal a').click(function (e) {
if ($(this).parent().children('ul').is(':visible') != true) {
$(this).parent().children('ul').show();
e.preventDefault();
return false;
}
})
替换此代码:
$('#menu-principal li').click(function () {
if ($(this).children('ul').is('') == true) {
return false
}
})
if ($(this).children('ul').is('') == true) {
return false
}
if ($(this).children('ul,p').is(':hidden') == true) {
$(this).children('ul,p').slideDown('slow');
return false
}
至以下代码:
$('#menu-principal li').click(function () {
if ($(this).children('ul').is('') == true) {
return false
}
})
if ($(this).children('ul').is('') == true) {
return false
}
if ($(this).children('ul,p').is(':hidden') == true) {
$(this).children('ul,p').slideDown('slow');
return false
}
这确实很有帮助,但我发现了一个错误,因为代码适用于父导航中的所有链接,包括子ul中的链接,因此,请更改此行:
$('#menu-principal a').click(function () {
为此:
$('#menu-principal a').not('ul ul a').click(function (e) {
你的问题不清楚……当单击class
TWO
时,你不想重定向,相反,下拉菜单应该打开???当单击父菜单时,下拉菜单将打开,并且在我第二次单击父菜单时,它将转到选择性URL或任何其他页面使用“阻止默认设置”使其在第一次单击时不跟随链接。如果子对象可见,则不阻止链接操作。检查这个