我正在菜单栏上工作。子菜单向上打开。
我想要以下更改


在悬停时,主导航栏应向下移动,子链接栏应向上可见。
如果将鼠标移出主导航,则子菜单栏应隐藏,并且主导航应再次向上移动。
子链接栏应隐藏在页面滚动中,主导航应向上。


fiddle的链接

HTML代码是

<div class="nav">
    <div class="table">

        <ul class="select"><li><a href="#nogo"><b>Home</b>
                </a></li></ul>



        <ul class="select"><li><a href="#nogo"><b>Joseph Turner</b><!--[if IE 7]><!-->           </a><!--<![endif]-->
                <!--[if lte IE 6]><table><tr><td><![endif]-->
                <div class="select_sub">
                    <ul class="sub">
                        <li><a href="#nogo">Fishermen at Sea</a></li>
                        <li><a href="#nogo">The Shipwreck</a></li>
                        <li><a href="#nogo">The Vale of Ashburnham</a></li>
                        <li><a href="#nogo">Crossing the Brook</a></li>
                    </ul>
                </div>
                <!--[if lte IE 6]></td></tr></table></a><![endif]-->
            </li>
        </ul>

        <ul class="select_sub"><li><a href="#nogo"><b>John Constable</b><!--[if IE        7]><!--></a><!--<![endif]-->
                <!--[if lte IE 6]><table><tr><td><![endif]-->
                <div class="select_sub show">
                    <ul class="sub">
                        <li><a href="#nogo">The Hay Wain</a></li>
                        <li><a href="#nogo">Brighton Beach</a></li>
                        <li><a href="#nogo">Malvern Hall</a></li>
                        <li class="sub_show"><a href="#nogo">Salisbury Cathedral</a></li>
                        <li><a href="#nogo">Weymouth Bay</a></li>
                    </ul>
                </div>
                <!--[if lte IE 6]></td></tr></table></a><![endif]-->
            </li>
        </ul>


        <ul class="select"><li><a href="#nogo"><b>Henri Matisse</b><!--[if IE 7]><!-->       </a><!--<![endif]-->
                <!--[if lte IE 6]><table><tr><td><![endif]-->
                <div class="select_sub">
                    <ul class="sub">
                        <li><a href="#nogo">The Girl with Green Eyes</a></li>
                        <li><a href="#nogo">The Dream</a></li>
                        <li><a href="#nogo">Woman in Blue</a></li>
                        <li><a href="#nogo">The Yellow Dress</a></li>
                        <li><a href="#nogo">The Piano Lesson</a></li>
                    </ul>
                </div>
                <!--[if lte IE 6]></td></tr></table></a><![endif]-->
            </li>
        </ul>


        <ul class="select"><li><a href="#nogo"><b>Paul Cezanne</b><!--[if IE 7]><!-->              </a><!--<![endif]-->
                <!--[if lte IE 6]><table><tr><td><![endif]-->
                <div class="select_sub">
                    <ul class="sub">
                        <li><a href="#nogo">The Large Bathers</a></li>
                        <li><a href="#nogo">Onions and Bottles</a></li>
                        <li><a href="#nogo">Mardi Gras</a></li>
                        <li><a href="#nogo">Still Life</a></li>
                        <li><a href="#nogo">Boy in a Red Waistcoat</a></li>
                    </ul>
                </div>
                <!--[if lte IE 6]></td></tr></table></a><![endif]-->
            </li>
        </ul>

    </div>
</div>


CSS是

.nav {
    height:35px;
    background: #854;
    position:relative;
    font-family:arial, verdana, sans-serif;
    font-size:11px;
    width:750px;
    z-index:500;


}

.nav .table {
    display:table;
    margin:0 auto;
}

.nav .select,
.nav .current {
    margin:0;
    padding:0;
    list-style:none;
    display:table-cell;
    white-space:nowrap;
}

.nav li {
    margin:0;
    padding:0;
    height:auto;
    float:left;
}

.nav .select a {
    display:block;
    height:35px;
    float:left;
    background: #632;
    padding:0 30px 0 30px;
    text-decoration:none;
    line-height:35px;
    white-space:nowrap;
    color:#ddd;
}

.nav .current a {
    display:block;
    height:35px;
    float:left;
    background: #134;
    padding:0 0 0 15px;
    text-decoration:none;
    line-height:35px;
    white-space:nowrap;
    color:#fff;
}


.nav .current a b {
    display:block;
    padding:0 30px 0 15px;
    background:#542 right top;
}

.nav .select a:hover,
.nav .select li:hover a {
    background: #653;
    padding:0 0 0 15px;
    cursor:pointer;
    color:#fff;
}

.nav .select a:hover b,
.nav .select li:hover a b {
    display:block;
    float:left;
    padding:0 30px 0 15px;
    background:url(http://eurekavi.com/pro_line_1.gif) right top;
    cursor:pointer;
}

.nav .select_sub {
    display:none;
}

/* IE6 only */
.nav table {
    border-collapse:collapse;
    margin:-1px;
    font-size:1em;
    width:0;
    height:0;
}

.nav .sub {
    display:table;
    /*margin:0 auto; */
    /*padding:0; */
    list-style:none;
    background:#248;
    margin-top:-70px;
}

.nav .sub_active .current_sub a,
.nav .sub_active a:hover {
    background:transparent;
    color:#f00;
}

.nav .select :hover .select_sub,
.nav .current .show {
    display:block;
    position:absolute;
    width:750px;
    top:35px;
    background: #412;
    padding:0;
    z-index:100;
    left:0;
    text-align:center;
}

.nav .current .show {
    z-index:10;
}

.nav .select :hover .sub li a,
.nav .current .show .sub li a {
    display:block;
    float:left;
    background:transparent;
    padding:0 10px 0 10px;
    margin:0;
    white-space:nowrap;
    border:0;
    color:#444;
}

.nav .current .sub li.sub_show a {
    color:#088;
    cursor:default;
    background:#632;
}

.nav .select :hover .sub li a:hover,
.nav .current .sub li a:hover {
    visibility:visible;
    color:#088;
    background:#743;
}


请回复。
谢谢。

最佳答案

1。要向下移动主菜单,请初始设置top: 0;
那么您可以使用.css()或.animate()jQuery方法

例:

$(".nav").animate({top: "30px"}, 500);

2。在菜单项的onmouseover事件中触发以上代码,您可以使用

$(".nav").animate({top: "0px"}, 500);表示onmouseout事件

您可以在HTML中添加,

<div class="nav" onmouseover="movedown()">....</div>

<script type="text/javascript">
function movedown() {
    $(".nav").animate({top: "30px"}, 500);
}
</script>`


3。您不需要使用滚动事件,因为onmouseout事件将自动隐藏您的子菜单

4。为防止隐藏主菜单,请在onmouseout事件上设置一个时间延迟,并使用标志。

这是更新的小提琴

http://jsfiddle.net/ExaLM/4/

阅读主题:

http://api.jquery.com/animate/

http://www.w3schools.com/jsref/event_onmouseover.asp

参见以下示例:

http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onmouseover

10-07 17:46