论坛

标题: 为我写的菜单内容不全显示? [打印本页]

作者: 我要学代码    时间: 2018-7-23 10:04
标题: 为我写的菜单内容不全显示?
我做的是案例里面的手风琴折叠菜单,但是效果不对,我想要,点击点第一个菜单显示第一个菜单的所有h2的内容,点击第二个菜单显示第二个菜单下面所有的子项目,但是为什么我做出来的都只能显示一个???

作者: lori棒棒糖    时间: 2018-7-23 17:15
亲~你把你的代码全部复制粘贴上来看下
作者: 我要学代码    时间: 2018-7-24 12:11
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="新建文件夹 (2)/jquery-3.0.0/jquery-3.0.0.min.js"></script>
<script>
        $(function(){
                $(".menuA").click(function(){
                        //$("h2").slideToggle();
                        //$("h2").slideToggle(2000);
                        //$(this).next().slideToggle(2000);
                        $(this).next("h2").slideToggle().siblings("h2").slideUp()
               
                       
                        })       
                                                     
               
               
               
               
               
                })
</script>
<style>
        *{ margin:0; padding:0;}
        .wrap{ width:100px; border:0px solid #F00; margin:0 auto;}
        .menuA{ width:100px; height:30px; background:#F00; font-size:22px; text-align:center; line-height:30px; margin:0px 0; color:#FFF;border-bottom:1px solid #FFF;}
        h2{ width:80px; height:30px; background:#639; margin:10px 0; text-align:center; color:#FFF; font-size:16px; line-height:30px; padding:0 10px;display:none }
       
       
</style>
</head>

<body>
        <div class="wrap">
<div class="menuA">菜 单 A</div>
        <h2>标题1</h2>
    <h2>标题2</h2>
    <h2>标题3</h2>
    <h2>标题4</h2>
    <h2>标题5</h2>
   
    <div class="menuA">菜 单 B</div>
        <h2>标题1</h2>
    <h2>标题2</h2>
    <h2>标题3</h2>
    <h2>标题4</h2>
    <h2>标题5</h2>
   
    <div class="menuA">菜 单 C</div>
        <h2>标题1</h2>
    <h2>标题2</h2>
    <h2>标题3</h2>
    <h2>标题4</h2>
    <h2>标题5</h2>



        </div>
</body>
</html>

作者: yuanxi52028    时间: 2018-7-26 09:18
next 是下一个的意思,你的menuA下面有好几个h2呀,所以next只会显示一个h2
应该把menuA下面的所有h2包起来
作者: yuanxi52028    时间: 2018-7-26 09:19
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="http://static.xuehui.com/www/pc/js/jquery-1.8.3_min.js?v=20180724"></script>

<script>
        $(function(){
                $(".menuA").click(function(){
                        //$("h2").slideToggle();
                        //$("h2").slideToggle(2000);
                        //$(this).next().slideToggle(2000);
                        $(this).next(".menuB").slideToggle().siblings(".menuB").slideUp()
               
                        
                        })        
                                                      
               
               
               
               
               
                })
</script>
<style>
        *{ margin:0; padding:0;}
        .wrap{ width:100px; border:0px solid #F00; margin:0 auto;}
        .menuA{ width:100px; height:30px; background:#F00; font-size:22px; text-align:center; line-height:30px; margin:0px 0; color:#FFF;border-bottom:1px solid #FFF;}
        h2{ width:80px; height:30px; background:#639; margin:10px 0; text-align:center; color:#FFF; font-size:16px; line-height:30px; padding:0 10px;}
        .menuB{ display:none;}
        
        
</style>
</head>

<body>
<div class="wrap">
        <div class="menuA">菜 单 A</div>
        <div class="menuB">
                <h2>标题1</h2>
                <h2>标题2</h2>
                <h2>标题3</h2>
                <h2>标题4</h2>
                <h2>标题5</h2>
        </div>

        <div class="menuA">菜 单 B</div>
        <div class="menuB">
                <h2>标题1</h2>
                <h2>标题2</h2>
                <h2>标题3</h2>
                <h2>标题4</h2>
                <h2>标题5</h2>
        </div>

        <div class="menuA">菜 单 C</div>
        <div class="menuB">
                <h2>标题1</h2>
                <h2>标题2</h2>
                <h2>标题3</h2>
                <h2>标题4</h2>
                <h2>标题5</h2>
        </div>
</div>
</body>
</html>
作者: 我要学代码    时间: 2018-7-26 09:57
yuanxi52028 发表于 2018-7-26 09:19
无标题文档

谢谢 ,我好想明白了 ,next是下一个的意思,也就说利用next,把.menuA下面的div当做弹出的内容,就可以显示所有的菜单选项了,懂了,谢谢!  关于“”siblings“”能解释一下吗,具体怎么会事? $(this).next(".menuB").slideToggle().siblings(".menuB").slideUp() 这条代码是按照顺序来运行的对吧?
作者: yuanxi52028    时间: 2018-7-26 17:44
[attach]134826[/attach] 百度 jq 都有详细的解释





欢迎光临 论坛 (http://bbs.qinxue.com/) Powered by Discuz! X3.1