下拉菜单切换不起作用

时间:2015-06-22 20:35:26

标签: jquery html css css3

所以我试图用jQuery创建一个下拉菜单,我尝试了几件事。我尝试使用.hover(),. click()和mouseenter()来执行用户的操作,但似乎没有任何效果。我甚至为事件尝试了toggle()和slideDown(),但是当我将鼠标悬停在屏幕上或点击“#Gallery;画廊"”时,屏幕上都没有显示任何内容。我知道jQuery正在运行,因为.hide()正在运行。这是html和js

<html>
<head>
    <link type="text/stylesheets" rel="stylesheet" href="ceb.css">
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js" type="text/javascript"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
    <div class="background">
        <div id="menu">
            <ul>
                <li><a href=#"">Home</a></li>
                <li><a href="#">Investments</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Contact</a></li>
                <li><a class"drop-menu" href="#" >Galleries</a>
                <ul id="dropdown">
                    <li><a href="#">Weddings</a></li>
                    <li><a href="#">Engagements</a></li>
                    <li><a href="#">Birthdays</a></li>
                    <li><a href="#">Family</a></li>
                </ul>
                </li>
            </ul>
        </div>
    </div>
<script type="text/javascript">
    var main = function() {
        $('#dropdown').hide();

        $('.drop-menu').mouseenter(function() {
            $('#dropdown').slideDown();
        });
    };

    $(document).ready(main);
</script>
</body>

这是css

    .background {
    margin: 0;
    background-color: #000000;
    background-image: url("CEB Images/bodybackground.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    height: 799px;
}

#menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#menu ul li {
    float: left;
    width: 150px;
    height: 50px;
    line-height: 30px;
    margin: 0;
    margin: 5px 5px;
    text-align: center;
}
#menu ul li:hover {
    background-color: #000066;
    border: double thick #000;
}

#menu ul li a {
    text-decoration: none;
    color: #0099FF;
}

#menu ul li li {
    color: #0099FF;
    display: block;
    margin: 0;
    background-color: #000066;
    height: 50px;
}

#menu ul li li a {
    text-decoration: none;
    color: #0099FF;
}

2 个答案:

答案 0 :(得分:1)

您在链接标记中的类名前缺少等号:

<li><a class"drop-menu" href="#" >Galleries</a>
            ^ /* Add equals sign: */

<li><a class="drop-menu" href="#" >Galleries</a>

..因此.drop-menu选择器没有返回任何内容。

您也应该考虑存储您的选择:

var main = function() {
    var dropDown = $('#dropdown'),
        dropMenu = $('.drop-menu');

    dropDown.hide();

    dropMenu.mouseenter(function() {
        dropDown.slideDown();
    });
};

这样,每次用户将鼠标悬停在菜单项上时,您都不必执行昂贵的DOM查找。

答案 1 :(得分:0)

你有一些拼写错误,我已经纠正了它们,并且在这里你也添加了鼠标输出功能,

<tr>

工作得很好!!