jQuery自动设置高度动画
我有一个高度为125px的ul。当用户将鼠标悬停在ul上时,我希望将高度设置为自动高度。当用户离开ul时,ul将再次转换为125pxjQuery自动设置高度动画,jquery,height,html-lists,expand,Jquery,Height,Html Lists,Expand,我有一个高度为125px的ul。当用户将鼠标悬停在ul上时,我希望将高度设置为自动高度。当用户离开ul时,ul将再次转换为125px $('.box .box-overflow ul').hover(function() { $(this).animate({ height: '100%' }, 400); }, function() { $(this).animate({ heigh
$('.box .box-overflow ul').hover(function() {
$(this).animate({
height: '100%'
}, 400);
}, function() {
$(this).animate({
height: '125px'
}, 400);
});
这是可行的,但当用户进入ul时,它会扩展,但没有很好的动画效果
有人能帮我吗?:) 在悬停时尝试以下操作:
var height = $(this).css('height','auto').height(); // get real height
$(this).css('height','125px'); // return current state;
$(this).animate({height: height+'px'}, 400);
用户不应看到前两行中的活动,但您可以获得UL的真实高度。只有知道最终高度,才能产生奇特的滑动效果
工作示例如下:您可以使用scrollHeight执行此操作
$('ul').hover(function(){
$(this).animate({
height: $(this)[0].scrollHeight+'px'
}, 400);
}, function(){
$(this).animate({
height: '125px'
}, 400);
});
我在别处发布了这篇文章,但我觉得它在这里也很有用:我制作了一个处理这个问题的小插件——应该是相当简单的,基于达西·克拉克(Darcy Clarke)已经发表的方法,并进行了一些(imo)非常必要的改进。只需对jQuery进行即插即用:
检查函数上的
easing
参数“动画效果不好”是什么?@ggzone就像用CSS悬停一样。。。没有动画。就在那里,他扩张了。