jquery - 淡入下拉菜单

标签 jquery css fade

我已经尝试了所有方法,但似乎无法让下拉菜单淡入。是否可以在使用 CSS 时淡入 .submenu?我不知道为什么它不能使用通常的“过渡”CSS。下面是http://jsfiddle.net/aAXwr/

<ul id="main-menu">

<li><a href="<txp:site_url />" style="background-image:none;">Home</a></li>

<li><a href="<txp:site_url />about">About</a>

<ul class="sub-menu">
<li><a href="<txp:site_url />">About&#160;Us</a></li>
<li><a href="<txp:site_url />">Our&#160;journey</a></li>
<li><a href="<txp:site_url />">Our&#160;partnerships</a></li>
<li><a href="<txp:site_url />">Our&#160;values</a></li>
</ul>
</li>

<li><a href="<txp:site_url />switching">Switching</a>

<ul class="sub-menu">
<txp:article_custom form="menu_listing" pgonly="0" section="switching" sort="Posted asc" />

</ul>

</li>

</ul>

这是我的 CSS

#main-menu {
    float: left;
    font-size: 0;
    margin: 15px 0;
}

#main-menu > li {
    display: inline-block;

}



#main-menu > li > a {
    color: #eee;
    font-size: 18px;
    line-height: 14px;


  background:url('http://plymouthenergycommunity.org.uk.s171938.gridserver.com/images/12.jpg') no-repeat top left;
    padding-left: 15px;
height:40px;
display:block;
padding-right:2px;

}

#main-menu > li:hover > a,
#main-menu > li.current-menu-item > a {
    color: #ffb612;

}

#main-menu li {
    position: relative;
z-index:7000;


}





ul.sub-menu { 

        background:#fff;
        display:none;
        height:auto;
        color:#000;
        margin:0px;
        border:0px;
        position:absolute;
        width:150px;
        z-index:200;
        -moz-box-shadow:    2px 2px 5px 2px #000;
        -webkit-box-shadow: 2px 2px 5px 2px #000;
        box-shadow:         2px 2px 5px 2px #000;
        /*top:1em;
        /*left:0;*/


        }





ul.sub-menu ul.sub-menu { /* level 3+ */
    margin-top: -1px;
    padding-top: 0;
    left: 149px;
    top: 0px;
}

ul.sub-menu > li > a {


    color: #29225c;
    display: block;
    font-size: 16px;
    line-height: 16px;
padding-left:10px;

}

ul.sub-menu > li > a:hover { 
    color: #000;

}






ul.sub-menu > li:first-child {
padding-top:10px;
}

ul.sub-menu ul.sub-menu > li:first-child {


}

ul.sub-menu > li:last-child > a {
padding-bottom:10px;
}

ul.sub-menu > li > a.parent {
    background-image: url(../images/arrow.png);
    background-size: 5px 9px;
    background-repeat: no-repeat;
    background-position: 95% center;
}

#main-menu li:hover > ul.sub-menu {
    display: block; /* show the submenu */

}

最佳答案

你可以使用opacity代替display:

ul.sub-menu { 
    display:block;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}

#main-menu li:hover > ul.sub-menu {
    opacity: 1;
}

Here's a Fiddle

关于jquery - 淡入下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21434447/

相关文章:

html - css 在下拉菜单中有另一个下拉菜单

html - 以编程方式将 CSSClass 分配给无序列表中的每个 li 元素

jQuery 淡入淡出图像渐变到 0

javascript - 在 AngularJS 中淡入 div

jquery - JSTree 检查所选节点是否为叶子或仅叶子可选

jquery - 可重复使用的远程模态 Rails

javascript - 如何使用 Babel 将 jQuery 的 ECMA6 导入转换为 UMD 包装器?

jQuery 输入值

css - SmartGWT:动态应用样式

jquery 可以淡入淡出吗在视频中