1

slideDown関数と機能を使用して単純な jQuery ドロップダウン ナビゲーションをコーディングしようとしてslideUpいますが、正しく動作していないようです。以下の css および js コードを見つけてください。

.programsnav ul li{
    float:left;
    margin-left:120px;
    display:block;
    position:relative;
    cursor:pointer;
    padding-bottom:5px;
}
.programsnav ul li:hover{
    border-bottom:dashed 1px #fcfe93;
}
.programsnav ul li span{
    display:none;
    position:absolute;
    width:930px;
    top:42px;
    left:-371px;
    background:#fcfe93;
    color:#161527;
    padding:10px 15px 15px 15px;
}
.programsnav ul li span a{
    display:inline-block;
    padding:0 10px;
    border-right:dotted 1px #161527;
    color:inherit;
    font-size:12px;
    text-transform:uppercase;
}

js

$(document).ready(function(){
     $('#downloadnav li').hover(function() {
            $('span', this).slideDown(100);
        }, function () {
            $('span', this).slideUp(100);       
     });
});

html

<ul id="downloadnav">
<li>Movies<span><a href="#">Movie1</a><a href="#">Movie2</a></span></li>
<li>Songs<span><a href="#">Song1</a><a href="#">Song2</a></span></li>
<li>Games<span><a href="#">Game1</a><a href="#">Game2</a></span></li>
</ul>

スパン> aでマウスオーバーするとアニメーションが続きます。助けてください、ありがとう。

4

2 に答える 2

1

正直なところ、このコードにはいくつか問題があります。まず第一に、このマークアップはドロップダウン メニュー ナビゲーションを助長しません。通常、これらは次の規則に従います。

<ul id="downloadNav">
    <li>Movies
        <ul>
            <li><a href="#">Movie 1</a></li>
            <li><a href="#">Movie 2</a></li>
        </ul>
    </li>
    <li>Songs
        <ul>
            <li><a href="#">Song 1</a></li>
            <li><a href="#">Song 2</a></li>
        </ul>
    </li>
    <li>Games
        <ul>
            <li><a href="#">Game 1</a></li>
            <li><a href="#">Game 2</a></li>
        </ul>
    </li>
</ul>​

さらに、スタイリングでは、「ドロップダウン」ではなく、要素が右にずれています。自由に簡単な例を作成しました。この問題に対するより賢明なアプローチをよりよく理解するために、それを研究していただければ幸いです。

フィドル: http://jsfiddle.net/LRBqJ/1/

于 2012-05-21T15:09:10.583 に答える
0

jQuery 1.7.2を使用する

JavaScript

$(document).ready(function(){
     $('#downloadnav li').hover(function() {
            $('span', this).stop().slideDown(100);
        }, function () {
            $('span', this).stop().slideUp(100);       
     });
});

CSS

ul#downloadnav {
    position: relative;
}
ul#downloadnav  li{
    float:left;
    margin-left:120px;
    display:block;
    position:relative;
    cursor:pointer;
    padding-bottom:5px;
}
ul#downloadnav  li:hover{
    border-bottom:dashed 1px #fcfe93;
}
ul#downloadnav  li span{
    display:none;
    position:absolute;
    width:930px;
    top:0px;
    margin-top: 41px;
    left:-371px;
    background:#fcfe93;
    color:#161527;
    padding:10px 15px 15px 15px;
}
ul#downloadnav  li span {
        display: none;
}
ul#downloadnav  li span a{
    display:none;
    padding:0 10px;
    border-right:dotted 1px #161527;
    color:inherit;
    font-size:12px;
    text-transform:uppercase;
}

HTML

<ul id="downloadnav">
<li>Movies<span><a href="#">Movie1</a><a href="#">Movie2</a></span></li>
<li>Songs<span><a href="#">Song1</a><a href="#">Song2</a></span></li>
<li>Games<span><a href="#">Game1</a><a href="#">Game2</a></span></li>
</ul>

私のFFでは正常に動作します

これが動作デモです。

于 2012-05-21T15:00:13.387 に答える