#entrance1
        {
            border: 1px solid #AADDFF;
            width: 120px;
            line-height: 25px;
            vertical-align: middle;
        }
 #control2
        {
            line-height: 24px;
            width: 30px;
            height: 15px;
            border: 0px solid #DCDCDC;
            float:left;
        }
#frame
        {
            width: 120px;
            color: #DDF1FF;
        }
</style>    <script type="text/javascript">
        var s;
        var objControl2;
        var objFrame;
        var objentrance1;
        function showHideBar() {
            
            if (parseInt(objFrame.style.width) != 0) 
            {
                objFrame.style.width = "0px";
                objFrame.innerHTML = "";
                objControl2.innerHTML = "+";
            }
            else 
            {
                objFrame.style.width = "120px";
                objFrame.innerHTML = s;
                objControl2.innerHTML = "-";
            }
        }
        $(document).ready(function() {
            objFrame = document.getElementById("frame");
            objControl2 = document.getElementById("control2");
            objentrance1 = document.getElementById("entrance1");
            s = objFrame.innerHTML;
            objFrame.style.width = "120px";
            objFrame.innerHTML = s;        });
        function canel() {
            event.cancelBubble = true;
        }
    </script>
<div id="entrance1">
                <ul>
                    <li><a>我的首页</a></li>
                    <li><a>关注<span>掌柜说</span></a></li>
                    <li><a>好友</a></li>
                </ul>
            </div>
            <div id="entrance1">
                <div><p id="control2" onclick="showHideBar();">-</p></div>
                <div><b style="color:#0779C6;">我的交易</b></div>
                <div id="frame">
                    <ul>
                        <li><a>我的购物车</a></li>
                        <li><a>已买到的宝贝</a></li>
                        <li><a>我的收藏</a></li>
                        <li><a>我的积分</a></li>
                        <li><a>我的优惠券</a></li>
                    </ul>
                </div>                           
                <div><p id="control2" onclick="showHideBar();">-</p></div>
                <div><b style="color:#0779C6;">款项维护</b></div>
                <div id="frame">
                    <ul>
                        <li><a>退款管理</a></li>
                        <li><a>举报管理</a></li>
                        <li><a>咨询/回复</a></li>
                    </ul>
                </div>
            </div>
不管点击哪个收缩菜单的按钮都是第一个菜单在动,是要用event.srcelement()吗?
 

解决方案 »

  1.   

    怎么div的id有相同的啊,有两个entrance1,两个frame
      

  2.   

    那改成 .frame .entrance1结果也是一样的啊
      

  3.   

    id改了,有两个了,objFrame也要对应的改.
    你要传几个参数进去,动态取得对象
      

  4.   

        <script type="text/javascript">
            var s;
            var objControl2;
            var objFrame;
            var objentrance1;
            function showHideBar(cid,did) {
                objFrame = document.getElementById(did);
                objControl2 = document.getElementById(cid);
                if (parseInt(objFrame.style.width) != 0) {
                    objFrame.style.width = "0px";
                    objFrame.innerHTML = "";
                    objControl2.innerHTML = "+";
                }
                else {
                    objFrame.style.width = "120px";
                    objFrame.innerHTML = s;
                    objControl2.innerHTML = "-";
                }
            }
            $(document).ready(function() {
                objFrame = document.getElementById("frame1");
                objControl2 = document.getElementById("control2");
                objentrance1 = document.getElementById("entrance1");
                s = objFrame.innerHTML;
                objFrame.style.width = "120px";
                objFrame.innerHTML = s;        });
            function canel() {
                event.cancelBubble = true;
            }
        </script><body>
        <div id="entrance1">
            <ul>
                <li><a>我的首页</a></li>
                <li><a>关注<span>掌柜说</span></a></li>
                <li><a>好友</a></li>
            </ul>
        </div>
        <div id="entrance2">
            <div>
                <p id="control1" onclick="showHideBar('control2','frame1');">
                    -</p>
            </div>
            <div>
                <b style="color: #0779C6;">我的交易</b></div>
            <div id="frame1">
                <ul>
                    <li><a>我的购物车</a></li>
                    <li><a>已买到的宝贝</a></li>
                    <li><a>我的收藏</a></li>
                    <li><a>我的积分</a></li>
                    <li><a>我的优惠券</a></li>
                </ul>
            </div>
            <div>
                <p id="control2" onclick="showHideBar('control2','frame2');">
                    -</p>
            </div>
            <div>
                <b style="color: #0779C6;">款项维护</b></div>
            <div id="frame2">
                <ul>
                    <li><a>退款管理</a></li>
                    <li><a>举报管理</a></li>
                    <li><a>咨询/回复</a></li>
                </ul>
            </div>
        </div>
    </body>
      

  5.   

    那这样函数不是要再多写一遍吗,初始化 $(document).ready(function(){})也得再写一编?
      

  6.   

    没看清楚,出现了个问题 objFrame = document.getElementById("frame1");这条之后下面的菜单就不会显示显示frame2里的结果,