1

就 Jquery 而言,我已经搜索并搜索了选项,但我似乎找不到任何可以满足我想要的东西,但它似乎是一个如此简单的效果。谁能告诉我如何让下图中的菜单项像第二项一样滑出,当有人将鼠标悬停在它上面时?

示例效果

4

3 回答 3

2
$('.menuClass').mouseover(function(){
    $(this).animate({'marginTop':'100px'});
});

$('.menuClass').mouseout(function(){
    $(this).animate({'marginTop':'0px'});
});

相应地更改 marginTop 的值。

这些也将有助于:

http://api.jquery.com/mouseover/

http://api.jquery.com/mouseout/

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

于 2012-07-24T14:18:53.623 回答
2

您可以为此使用多个 css 动画方法。

这是您的问题的 jQuery 答案。

jQuery:

$('div').bind({
  mouseenter: function() {
    $(this).stop().animate({'background-position-y':'-20px','height':'68px'},600);
  },
  mouseleave: function() {
    $(this).stop().animate({'background-position-y':'-58px','height':'30px'},600);
  }
});​

CSS:

div {
   background: url(http://i.stack.imgur.com/g3aqx.jpg) -146px -58px;
   float:left; width:86px; height:30px;
}  ​

----------------------------------

或者

您只需使用 CSS3 就可以做到这一点:

CSS3 动画 jsFiddle 示例在这里。

div {
    float:left; background: url(http://i.stack.imgur.com/g3aqx.jpg) -146px -58px;
    width:86px; height:30px;

transition: .5s;
-moz-transition:  .5s; /* Firefox 4 */
-webkit-transition:  .5s; /* Safari and Chrome */
-o-transition: .5s; /* Opera */
}

div:hover { background-position-y:-20px; height:68px; } ​
于 2012-07-24T14:22:16.243 回答
1

您可以使用动画 jquery 方法:

http://jsfiddle.net/wWhG2/42/

$("#img").hover(function() {
    $(this).stop();
    $(this).animate({top:"0"},500,null); 
}, function () {
    $(this).stop();
    $(this).animate({top:"-150"},500,null);  
});
于 2012-07-24T14:25:24.890 回答