1

我需要在我的 jquery 动画导航菜单中添加一个活动状态,但似乎无法让它工作。动画效果很好,但我需要它来停止活动选项卡(网站中的当前页面)上的动画并继续在其他选项卡上工作,依此类推。请帮助
这里是我的代码

html:

<div id="insideNav">
    <ul id="nav">
        <li><a href="index.php">Home</a></li>
        <li><a href="media.php">Media</a></li>
        <li><a href="overview.php">Overview</a></li>
        <li><a href="mobile.php">Mobile</a></li>
        <li><a href="options.php">Options</a></li>
        <li><a href="order.php">Order</a></li>
        <li><a href="contact.php">Contact</a></li>
    </ul>
</div>

CSS:

ul#nav {
    width:1024px;
    margin: 0 auto;
    text-align:center;
    overflow:hidden;    
}
ul#nav li {
    float:left;
    list-style:none;    
}
ul#nav li a {
    display:block;
    width:108px;
    height:76px;
    padding:15px 0 0 0;
    margin:0 10px 0 10px;
    font: italic 16px Georgia,"Times New Roman", serif;
    color:#919090;
    text-decoration:none;
    background: url("../images/dropDown.png") 0 -149px no-repeat;   
}
ul#nav li a:hover {
    background: url("../images/dropDown.png") 0 0 no-repeat;    
    color:#ffffff;
}

查询:

$(document).ready(function() {
    $("ul#nav li a").addClass("js");
    $("ul#nav li a").hover(
      function () {
        $(this).stop(true,true).animate({backgroundPosition:"(0 0)"}, 200);
        $(this).animate({backgroundPosition:"(0 -5px)"}, 150);
      }, 
      function () {
        $(this).stop(true,true).animate({backgroundPosition:"(0 -149px)"}, 200);

      }

    );

});
4

1 回答 1

0

您可以使用 jQuery not() 函数并为当前页面添加一个活动类,例如

$('ul#nav li a').not('.active').hover( ...

等等...

然后假设您当前的页面是媒体添加一个类:

<li><a href="media.php" class="active">Media</a></li>

要完全删除悬停集 css:

ul#nav li a.active:hover { background-position: 0 -149px; }
于 2012-11-16T19:17:30.833 回答