我在这里找到了有用的代码。我真的希望有人可以帮助我。
以下是代码:
$(function(){
$('#header_nav').data('size','big');
});
$(window).scroll(function(){
if($(document).scrollTop() > 0)
{
if($('#header_nav').data('size') == 'big')
{
$('#header_nav').data('size','small');
$('#header_nav').stop().animate({
height:'40px'
},600);
}
}
else
{
if($('#header_nav').data('size') == 'small')
{
$('#header_nav').data('size','big');
$('#header_nav').stop().animate({
height:'100px'
},600);
}
}
});
问题:如何仅在悬停(不滚动)时执行相同的操作?
非常感谢。
答案 0 :(得分:0)
这比你想象的要简单得多。
(1) $('#header_nav').data('size','small');
关于(1),您粘贴的确切代码片段实际上只是添加了一个数据属性,我猜你在网上找到代码时不需要这些属性。
(2) $('#header_nav').stop().animate({
关于(2),。stop()只是突然停止动画而不允许它完成
关键是要将鼠标事件定位到下面显示的div:
$("#header_nav").mouseenter(function(){
然后再次离开时,为您提供如下所示的鼠标悬停效果:
$("#header_nav").mouseleave(function(){
我删除了代码,使其尽可能简单易读(下面的DEMO)
这是非常自我解释,在mouseenter / mouseleave'animate'(逐渐减少/增加)容器的高度。