Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 单击子菜单中的某个项后无法保持子菜单打开_Jquery_Html_Click_Submenu - Fatal编程技术网

Jquery 单击子菜单中的某个项后无法保持子菜单打开

Jquery 单击子菜单中的某个项后无法保持子菜单打开,jquery,html,click,submenu,Jquery,Html,Click,Submenu,我使用jqueryclick函数在单击菜单项时显示一个子菜单。我希望子菜单在单击其中一项后保持打开状态,直到返回主菜单中的另一项。我尝试过多种解决方案,读过多篇帖子,买了一本关于jquery的书,但都没有找到答案。我怀疑问题在于,当点击ul中的li时,不可能更改封装ul的显示。但这是我最近的代码尝试。 (任何帮助都将不胜感激。我即将放弃,只需通过去掉显示:隐藏在css中来显示所有菜单。但我想看看这里是否有人能回答这个问题。) 相关Html: <div id="navbar">

我使用jqueryclick函数在单击菜单项时显示一个子菜单。我希望子菜单在单击其中一项后保持打开状态,直到返回主菜单中的另一项。我尝试过多种解决方案,读过多篇帖子,买了一本关于jquery的书,但都没有找到答案。我怀疑问题在于,当点击ul中的li时,不可能更改封装ul的显示。但这是我最近的代码尝试。 (任何帮助都将不胜感激。我即将放弃,只需通过去掉显示:隐藏在css中来显示所有菜单。但我想看看这里是否有人能回答这个问题。)

相关Html:

     <div id="navbar">          

    <div style="margin-top:5em; margin-left:0em;">    
     <ul class = "nav-level1">
        <li class="nosub"><a href="index.php?content=bethhome" title="Go to home page">Home</a></li>
      <li class="parent"> <a href = "#" >About Us</a>   
            <ul class="nav-level2">
                <li class="nav-whoweare"><a href ="index.php?content=whoweare" title="Who We Are">Who We Are</a></li> 
                <li class="nav-whoweare"><a href ="index.php?content=ourmission" title="Our Mission and Values">Our Mission and Values</a></li> 
                <li class="nav-whoweare"><a href ="index.php?content=ourhistory" title="Our History">Our History</a></li> 
                <li class="parent2"><a href = "#">Our Interim Pastors</a>
                   <ul class = "nav-level3">
                     <li class="nav-whoweare"><a href ="index.php?content=ourpastor" title="Rev. Charles Webb">Rev. Charles Webb</a></li> 
                     <li class="nav-whoweare"><a href ="index.php?content=ourpastor2" title="Vicar Daniel Dockery">Vicar Daniel Dockery</a></li> 

                    </ul>
                </li>                        

              </ul> 
            </li>     
          <li class="nosub"><a href="index.php?content=library" title="Our Library">Library</a></li>
          <li class="nosub"><a href="index.php?content=calendary" title="Calendar of Events">Calendar of Events</a></li>
          <li class="nosub"><a href="index.php?content=missions" title="Our Mission Work">Our Mission Work</a></li>
          <li class="nosub"><a href="index.php?content=ouractivities" title="Our Activities, Groups and Events">Our Activities</a></li>    

    </ul>                                                                         
    </div> <br />
我的jquery脚本:

  <script type="text/javascript" src="jquery-1.11.2.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('.parent').click(function(event) {
      $('.nav-level2').show();
    });
});
</script>   

<script type="text/javascript">
$(document).ready(function() {
    $('.nosub').click(function(event) {
       $('.nav-level3').hide();
       $('.nav-level2').hide();
     });
});
</script> 


<script type="text/javascript">
$(document).ready(function() {
    $('.parent2').click(function(event) {
       $('.nav-level3').show();
       $('.nav-level2').show();
     });
});
</script> 

<script type="text/javascript">    //testng script
$(document).ready(function() {
    $('.nav-whoweare').click(function(event) {

        $'.nav-level2'}.show();
     });
});
</script> 

$(文档).ready(函数(){
$('.parent')。单击(函数(事件){
$('.nav-level2').show();
});
});
$(文档).ready(函数(){
$('.nosub')。单击(函数(事件){
$('.nav-level3').hide();
$('.nav-level2').hide();
});
});
$(文档).ready(函数(){
$('.parent2')。单击(函数(事件){
$('.nav-level3').show();
$('.nav-level2').show();
});
});
//testng脚本
$(文档).ready(函数(){
$('.nav whoware')。单击(函数(事件){
$'.nav-level2'}.show();
});
});

您的代码中充满了拼写错误。请多加小心。。别忘了创建并使用调试器(Google Crome的内置调试器for ex.)

此外,它更合适

这是您的工作代码:

$(文档).ready(函数(){
$('.parent')。悬停(
函数(){
$('.nav-level2').show();
},
函数(){
$('.nav-level2').hide();
}
);
$('.parent2')。悬停(
函数(){
$('.nav-level3').show();
$('.nav-level2').show();
},
函数(){
$('.nav-level3').hide();
$('.nav-level2').hide();
}
);
$('nav whoware')。悬停(
函数(){
$('.nav-level2').show();
},
函数(){
$('.nav-level2').hide();
}
);
});

我认为不应该使用hover,因为手机的响应不好,应该使用click。你可以在桌面上使用hover,在手机上使用touch events
  <script type="text/javascript" src="jquery-1.11.2.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('.parent').click(function(event) {
      $('.nav-level2').show();
    });
});
</script>   

<script type="text/javascript">
$(document).ready(function() {
    $('.nosub').click(function(event) {
       $('.nav-level3').hide();
       $('.nav-level2').hide();
     });
});
</script> 


<script type="text/javascript">
$(document).ready(function() {
    $('.parent2').click(function(event) {
       $('.nav-level3').show();
       $('.nav-level2').show();
     });
});
</script> 

<script type="text/javascript">    //testng script
$(document).ready(function() {
    $('.nav-whoweare').click(function(event) {

        $'.nav-level2'}.show();
     });
});
</script>