垂直滑动菜单

时间:2012-04-19 13:24:03

标签: jquery

我创建了一个菜单。这是非常基本的,但我遇到了一个我到目前为止还没有想到的问题。

页面加载时。所有链接都隐藏在菜单选项卡中。当用户单击选项卡链接时显示。但是当用户点击任何链接选项卡再次折叠时。因此,每次用户必须单击选项卡以单击任何链接。

我想要显示链接,直到用户点击标签。

请检查下面的代码。请帮忙,现在已经两天了,我正在处理这件事。

<a id="doc_test" >
    <img src="../../images/menu_icons/documents_button.png" border="0"  />
</a>
<br />
<div id="docSubLink_test" style="padding-left:10px;display: none;">
    <a class=""  id="d1" href="#" >apple</a><br />
    <a class=""   id="d2" href="#" >grapes</a><br />
    <a class=""   id="d3" href="#" >orange</a><br />
    <a class=""   id="d4" href="#" >peach</a><br />
</div>

Javascript:

if($('#docSubLink_test').is(':visible')) {
   $('#doc_test').click(function(){
       alert('1');
       //$('docSubLink_test').css("display","inline");  
       $('#docSubLink_test').slideUp(500);
       //$('docSubLink_test').slideUp('medium'); 
   });
}

if($('#docSubLink_test').is(':hidden')) {
   $('#doc_test').click(function(){
       //alert('1');
       //$('docSubLink_test').css("display","inline");  
       $('#docSubLink_test').show(500);
       //$('docSubLink_test').slideUp('medium'); 
   });
}

//Link to other page
$('#d1').click(function(){  
    $.get('http://www.abc.com/products/doc_test.php?orange',function(data){         
        $('body').html(data); 
    }); 
});
$('#d2').click(function(){          
    $.get('http://www.abc.com/products/doc_test.php?apple',function(data){
        $('body').html(data); 
    }); 
});
$('#d3').click(function(){  
    $.get('http://www.abc.com/products/doc_test.php?peach',function(data){
        $('body').html(data); 
    });
});
$('#d4').click(function(){  
    $.get('http://www.abc.com/products/doc_test.php?grapes',function(data){
        $('body').html(data); 
    }); 
});

2 个答案:

答案 0 :(得分:0)

<!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>
    <title></title>
    <script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#doc_test').click(function () {
                $('#docSubLink_test').is(':visible') ? $('#docSubLink_test').slideUp(500) : $('#docSubLink_test').slideDown(500);
            });

            $('.subLinkD').click(function () {
                var obj = $(this);

                $('#docSubLink_test').slideUp(500);

                //                $('#loadHerfContent').load(obj.data('href'), function (response, status, xhr) {
                //                    if (status == "error") {
                //                        var msg = "Sorry but there was an error: ";
                //                        $("#loadHerfContent").html(msg + xhr.status + " " + xhr.statusText);
                //                    }
                //                });

                $.get(obj.data('href'), function (data) {
                    $('#loadHerfContent').html(data);
                });
            });
        });
    </script>
</head>
<body>
    <a id="doc_test" style="cursor: pointer; font-size: large; font-weight: bolder;">
        <img src="../../images/menu_icons/documents_button.png" border="0" />Main Tab
    </a>
    <br />
    <div id="docSubLink_test" style="padding-left: 10px; display: none;">
        <a class="subLinkD" id="d1" href="#" data-href="http://www.abc.com/products/doc_test.php?apple">
            apple</a><br />
        <a class="subLinkD" id="d2" href="#" data-href="http://www.abc.com/products/doc_test.php?grapes">
            grapes</a><br />
        <a class="subLinkD" id="d3" href="#" data-href="http://www.abc.com/products/doc_test.php?orange">
            orange</a><br />
        <a class="subLinkD" id="d4" href="#" data-href="http://www.abc.com/products/doc_test.php?peach">
            peach</a><br />
    </div>
    <div id="loadHerfContent">
    </div>
</body>
</html>

答案 1 :(得分:0)

我已经修好了那个。因为我用ajax结果刷新了身体。所以每当我点击任何链接时,它都刷新包含菜单本身的整个身体。所以菜单崩溃了。 Gaby aka G. Petrioli在评论中给出了正确答案