簡體   English   中英

可點擊的下拉菜單javascript

[英]Clickable drop-down menu javascript

我已經使用JavaScript在網頁中創建3個可點擊的下拉菜單按鈕。 當我單擊一個按鈕時,腳本運行良好。 我可以看到顯示以下菜單。 當我按下另一個按鈕時,將顯示以下菜單。 但是,上一個菜單仍然存在。

這是我的劇本。 希望可以有人幫幫我。 謝謝!

<script type="text/javascript" >
$(document).ready(function() {

    $(".account").click(function() {
        var X = $(this).attr('id');
        if (X == 1) {
            $(".submenu").hide();
            $(this).attr('id', '0');
        } else {
            $(".submenu").show();
            $(this).attr('id', '1');
        }

    });

    //Mouse click on sub menu
    $(".submenu").mouseup(function() {
        return false
    });

    //Mouse click on my account link
    $(".account").mouseup(function() {
        return false
    });

    //Document Click
    $(document).mouseup(function() {
        $(".submenu").hide();
        $(".account").attr('id', '');
    });
});
</script> 

// CSS

.dropdown
{
color:#000;
margin: 0px 22px 0 0;
width: 300px;
height: 30px;
text-align:center;
}
.submenu
{
background:#FFF ;
position: absolute;
top: 118px;
left: 515px;
z-index: 100;
width: 250px;
display: none;
border-radius: 6px;
border: outset 2px #0066FF;
box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05);
}

.dropdown li a
{
color:#555555;
display: block;
font-family: arial;
font-weight: bold;
padding: 6px 15px;
cursor: pointer;
text-decoration:none;
margin-top:-5px;
}

.dropdown li a:hover
{
background:#155FB0;
color: #FFFFFF;
text-decoration: none;
}
a.account
{
font-size: 18px;
line-height: 10px;
color: #000;
border: ridge 2px #0066FF;
position: absolute;
z-index: 110;
display: block;
padding: 11px 0 0 0px;
height: 20px;
width: 300px;
margin: 0px 0 0 0px;
text-align:center;
text-decoration: none;
background: url(images-new/arrow.png) 275px 9px no-repeat;
cursor:pointer;
}
.root
{
list-style:none;
margin:0px;
padding:0px;
font-size: 11px;
padding: 11px 0 0 0px;
border-top:1px solid #dedede;
}

// html

<div class="dropdown">
<a class="account" >My Account</a>

<div class="submenu">
<ul class="root">
<li ><a href="#Dashboard" >Dashboard</a></li>
<li ><a href="#Profile" >Profile</a></li>
<li ><a href="#settings">Settings</a></li>
<li ><a href="#feedback">Send Feedback</a></li>
</ul>
</div>

</div>

我個人的建議是結合使用JS和CSS。

您應該使用活動類來隱藏和顯示元素:

//JS
$('.menu a').on('click', function({
    $('.menu a').removeClass('active');
    $(this).addClass('active');
});

// CSS
.active .submenu {
    display: block;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM