Php 子菜单分区问题
我有一个带子菜单的菜单。。此菜单来自数据库。点击其中一个主菜单,将打开一个子菜单。。当我点击子菜单的任何链接时,我想要它。。子菜单保持打开状态,所选子菜单应保持选中状态。但问题是,当我点击任何子菜单链接。。我找到了它的相关链接。。但是子菜单被隐藏了。我尝试使用J-query来实现这一点。。但由于加载新页面而失败。。。请告诉我怎么做。。现在我想使用jquery或ajax解决这个问题,在阅读了您的问题之后,我想这可能会对您有所帮助Php 子菜单分区问题,php,jquery,html,css,ajax,Php,Jquery,Html,Css,Ajax,我有一个带子菜单的菜单。。此菜单来自数据库。点击其中一个主菜单,将打开一个子菜单。。当我点击子菜单的任何链接时,我想要它。。子菜单保持打开状态,所选子菜单应保持选中状态。但问题是,当我点击任何子菜单链接。。我找到了它的相关链接。。但是子菜单被隐藏了。我尝试使用J-query来实现这一点。。但由于加载新页面而失败。。。请告诉我怎么做。。现在我想使用jquery或ajax解决这个问题,在阅读了您的问题之后,我想这可能会对您有所帮助 使用jQuery(包括jQuery库) 在要保留选定主菜单和子菜单
- 使用jQuery(包括jQuery库)
- 在要保留选定主菜单和子菜单的页面上,执行以下操作:
- 获取主菜单和子菜单ID,并使用jQuery进行切换
$('#menu > li > a').click(function(){
if($(this).siblings('ul').length > 0){
$(this).siblings('ul').show();
return false; // This will do what you want.
}
});
如果有任何同级“ul”元素,则不允许链接。否则,它将转到它的href
在此处测试:
如果您想要ajax解决方案,可以尝试
load
:
假设这是html:
然后可以使用以下jQuery:
$(函数(){
$(“#主菜单li”)。单击(函数(){
var page=$(this.find('a').attr('href');
$('#content')。加载(第页);
$('.submenu',this.toggle();
});
$(“#主菜单a”)。单击(功能(e){
e、 preventDefault();//您有任何代码吗?请发布您尝试过的代码。这样我们就可以解决您的问题。
$('#menu > li > a').click(function(){
if($(this).siblings('ul').length > 0){
$(this).siblings('ul').show();
return false; // This will do what you want.
}
});
<ul id='main-menu'>
<li><a href='pages/home.html'>Home</a></li>
<li><a href='pages/about.html'>About us</a>
<ul class='sub-menu'> /*initially hide it display:none;*/
<li><a href='pages/subpage1.html'>sub link 1</a></li>
<li><a href='pages/subpage2.html'>sub link 2</a></li>
</ul>
</li>
</ul>
<div id='content'></div> <!--here you have to put page contents-->
$(function(){
$('#main-menu li').click(function(){
var page = $(this).find('a').attr('href');
$('#content').load(page);
$('.submenu',this).toggle();
});
$('#main-menu a').click(function(e){
e.preventDefault(); // <-----this stops page to navigate to link href
});
$('.submenu li').click(function(ev){
ev.stopPropagation(); //<----stops the event bubbling to the parent
});
});