简体   繁体   English

根据条件显示和隐藏子div

[英]Show and hide child div as per the condition

This code I written for to show child category when clicking on the parent category. 我编写此代码的目的是在单击父类别时显示子类别。 And it working good. 而且效果很好。

 $(function(){ $(".class1-parrent").on("click",function(){ $(".after-class").css("display","none"); $('.class1-child').appendTo('.after-4'); $(".after-4").css("display","flex"); $(".common-child-class").css("display","none"); $(".class1-child").css("display","block"); }); $(".class2-parrent").on("click",function(){ $(".after-class").css("display","none"); $('.class2-child').appendTo('.after-4'); $(".after-4").css("display","flex"); $(".common-child-class").css("display","none"); $(".class2-child").css("display","block"); }); }); 
 .after-4, .after-5 { border: 1px solid black; display:none; width:100%; } .common-parrent-class { border:1px solid black; margin:2px; float:left; width:20%; cursor:pointer; } .main, .sub-category { display: inline-table; padding:22px; border:1px solid black; } .sub-category { margin-top:10%; display:none; width:100%; } .common-child-class { display:none; width:100%; } .inner { float:left; width:24%; margin:2px; } @media screen and (max-width: 299px) and (min-width:200px){ .common-parrent-class, .inner { width:60%; } } @media screen and (max-width: 420px) and (min-width:300px){ .common-parrent-class, .inner { width:40%; } } 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <div class="container"> <div class="row"> <div class="col-sm-6 main"> <div class="main-category"> <div class="class1-parrent common-parrent-class">Class1</div> <div class="class2-parrent common-parrent-class">Class2</div> <div class="class3-parrent common-parrent-class">Class3</div> <div class="class4-parrent common-parrent-class">Class4</div> <div class="after-4 after-class"></div> <div class="class5-parrent common-parrent-class">Class5</div> <div class="after-5 after-class"></div> </div> <div class="sub-category"> <div class="class1-child common-child-class"> <div class="class1-child-inner inner">Class 1</div> <div class="class1-child-inner inner">Class 1</div> <div class="class1-child-inner inner">Class 1</div> <div class="class1-child-inner inner">Class 1</div> </div> <div class="class2-child common-child-class"> <div class="class2-child-inner inner">Class 2</div> <div class="class2-child-inner inner">Class 2</div> <div class="class2-child-inner inner">Class 2</div> <div class="class2-child-inner inner">Class 2</div> </div> </div> </div> </div> </div> 

Here I only write code for class1 and class2. 在这里,我只为class1和class2编写代码。

What I need is when we click parent category(class) then 我需要的是当我们单击父类别(类)然后

(1) Show it's child category & after-class if child category not displayed (1)如果未显示子类别,则显示子类别和课后类别

(2)Hide it's child category & after-class if it is already (2)如果已经隐藏了子类别和课后类别

How to do this ? 这个怎么做 ?

Here is the jsfiddle for solution: 这是解决方案的jsfiddle:

Demo 演示

You can write like this to show and hide. 您可以这样写来显示和隐藏。

Edit : To hide after class then modify the code to this 编辑:要在课后隐藏,然后将代码修改为此

if(status == 'none'){
            $('.'+$child).appendTo('.after-4');
           $(".after-4").css("display","flex");
           $(".common-child-class").css("display","none");
           $('.'+$child).css("display","block");
           }
            if(status == 'block'){
                $(".after-4").css("display","none");
            }

Here is the solution. 这是解决方案。 Add the given jquery. 添加给定的jQuery。

$(".class3-parrent").on("click",function(e){
          $(".common-child-class").hide();
          $(".after-4.after-class").hide();
      });

Working DEMO !!! 工作演示

Use the toggle() , I have done a basic sample. 使用toggle() ,我已经完成了一个基本示例。 You can do the styling and aligment part. 您可以进行样式和调整部分。

 $(function(){ $(".class1-parrent").on("click",function(){ //$(".after-class").css("display","none"); //$('.class1-child').appendTo('.after-4'); //$(".after-4").css("display","flex"); //$(".common-child-class").css("display","none"); //$(".class1-child").css("display","block"); //$('.class1-child common-child-class').toggle('show'); //$(".common-child-class").css("display","none"); $(".class1-child").toggle('hide') }); $(".class2-parrent").on("click",function(){ //$(".after-class").css("display","none"); //$('.class2-child').appendTo('.after-4'); //$(".after-4").css("display","flex"); //$(".common-child-class").css("display","none"); //$(".class2-child").css("display","block"); $(".class2-child").toggle('hide') }); }); 
 .after-4, .after-5{ border: 1px solid black; display:none; width:100%; } .common-parrent-class{ border:1px solid black; margin:2px; float:left; width:20%; cursor:pointer; } .main, .sub-category{ display: inline-table; padding:22px; border:1px solid black; } .sub-category{ margin-top:10%; display:none; width:100%; } .common-child-class{ display:none; width:100%; } .inner{ float:left; width:24%; margin:2px; } @media screen and (max-width: 299px) and (min-width:200px) { .common-parrent-class, .inner{ width:60%; } } @media screen and (max-width: 420px) and (min-width:300px) { .common-parrent-class, .inner{ width:40%; } } 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <div class="container"> <div class="row"> <div class="col-sm-6 main"> <div class="main-category"> <div class="class1-parrent common-parrent-class">Class1</div> <div class="class1-child common-child-class" > <div class="class1-child-inner inner">Class 1</div> <div class="class1-child-inner inner">Class 1</div> <div class="class1-child-inner inner">Class 1</div> <div class="class1-child-inner inner">Class 1</div> </div> <div class="class2-parrent common-parrent-class">Class2</div> <div class="class2-child common-child-class"> <div class="class2-child-inner inner">Class 2</div> <div class="class2-child-inner inner">Class 2</div> <div class="class2-child-inner inner">Class 2</div> <div class="class2-child-inner inner">Class 2</div> </div> <div class="class3-parrent common-parrent-class">Class3</div> <div class="class4-parrent common-parrent-class">Class4</div> <div class="after-4 after-class"></div> <div class="class5-parrent common-parrent-class">Class5</div> <div class="after-5 after-class"></div> </div> <div class="sub-category"> </div> </div> </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM