悬停时Jquery slideDown菜单

时间:2014-04-06 16:42:45

标签: javascript jquery html css hover

好的,所以我一直试图制作一个导航,当一个盒子在悬停时滑下来,我发现了这个:Keep Jquery slideDown menu open when hovering over that menu?

第三个答案几乎对我有用,但我的问题是,当我将鼠标悬停在主菜单上时,子菜单也会向下滑动,当我悬停子菜单时,什么都不会发生。

我不确定这是否可行,但我想制作的导航只会滑下我悬停的导航。

到目前为止,这是我的代码。我真的很沮丧,我不认识Jquery,所以如果你能帮助我,请做。非常感谢你!

Jquery的

    $(document).ready(function () {
    var menu = $('.menu')

    menu.hide();

    $('#mainbutton').mouseover(

        function () {
            menu.stop(true, true).slideDown(400);
        }
    );

    $(".menu").mouseleave(

        function () {
            menu.stop(true, true).slideUp(400)
        })

});

CSS

        #navigation {
    border: solid 1px black;
    height: 300px;
}

.mainbutton {
    margin-top: 10px;
    -webkit-order: 2;
    margin-right: 0%;
    background-color: #f1f1f1;
}

.dropdown {
    -webkit-order: 3;
    background-color: #fff;
    border: 2px dotted #f1f1f1;
    width: 195px;
    height: auto;
    text-align: justify;
    background: url('http://www.polyvore.com/cgi/img-thing?.out=jpg&size=l&tid=25977922');
}

.menu {
    display: -webkit-flex;
    -webkit-flex-flow: row nowrap;
    -webkit-justify-content: flex-start;
    -webkit-align-items: center;
    padding-left: 8%;
}

.menu a, a:visited {
    font-family: Abstrec, sans-serif;
    color: #505050;
    text-decoration: none;
    font-size: .5em;
    margin-bottom: 10px;
    margin-top: 10px;
    border-bottom: 2px solid #dbdbdb;
    padding-bottom: 10px;
}

.menu a:hover {
    color: #bfbfbf;
    -webkit-transition:.3s;
    transition:.3s;
    border-bottom: 2px solid #aef4e7;
}

.itemone {
    -webkit-order: 1;
    height: auto;
    padding: 5px;
    z-index: 3;
    text-align: justify;
}

HTML

        <div class="navigation">
        <div class="nav">

                <div id="mainbutton">
                   <center> <a href="#">about</a> </center>
                </div> </div> </div>


        <div class="dropdown">

            <div class="menu">
                <div id="itemone"></div>

this is a sample text
this is a sample text
this is a sample text
this is a sample text
this is a sample text

    <br></div></div>


        <div class="navigation">
        <div class="nav">

                <div id="mainbutton">
                   <center> <a href="#">tagboard</a> </center>
                </div> </div> </div>


        <div class="dropdown">

            <div class="menu">
                <div id="itemone"></div>

this is a sample text
this is a sample text
this is a sample text
this is a sample text
this is a sample text

    <br></div></div>
PS:jsfiddle不会让我产生。我不知道为什么如果它搞得一团糟,那就很抱歉。

无论如何,如果您想在此处看到它:http://sdmkn.blogspot.com/

非常感谢!!

1 个答案:

答案 0 :(得分:0)

以下是 FIDDLE

的示例
<nav>
  <ul>
    <li>Item 1
      <ul>
        <li>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ut tortor vel mi elementum consequat eu quis velit. Vestibulum nec bibendum lacus, sit amet tristique nulla.
        </li>
      </ul>
    </li>
    <li>Item 2
      <ul>
        <li>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ut tortor vel mi elementum consequat eu quis velit. Vestibulum nec bibendum lacus, sit amet tristique nulla.
        </li>
      </ul>
    </li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
  </ul>
</nav>

nav {
  width: 250px;
}
ul {
  list-style: none;
}
li {
  background: #ddd;
  width: 100%;
  line-height: 25px;
  margin: 0 0 5px;
  padding: 2px 0;
  text-align: center;
  cursor: pointer;
}
li ul {
display: none;
}
li ul li {
  position: relative;
  padding: 0;
  text-align: left;
  box-sizing: border-box;
}

(function($) {
  $('ul li').mouseover(function() {
    $('ul',this).stop().slideDown(400, 'linear');
  });
  $('li, li ul').mouseout(function() {
    $('li ul').stop().slideUp(400, 'linear');
  });
})(jQuery);
相关问题