如何使用jQuery在show / hide之间平滑过渡?

前端之家收集整理的这篇文章主要介绍了如何使用jQuery在show / hide之间平滑过渡?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个城市选择列表和购物中心列表.
选择一个城市,将显示该城市的购物中心.

我的“问题”是隐藏一个城市的购物中心和另一个城市之间的过渡,它不顺利.它“颠簸”.

你可以在这里看到我的意思:http://jsfiddle.net/egUHN/12/

实现平稳过渡的最佳方式是什么?
我也试过使用show / hide,但它没有帮助.

UPDATE
@Zanfa通过使用[promise().done()] [1]提出了一个很好的解决方案.

$('.city_list .city').fadeOut('normal').promise().done(function() {
    jQuery('.city_list .' + shmall_selected_city).fadeIn('normal');
});

我稍后会测试一下.

解决方法

问题在于,每个城市都有单独的li,每个城市都位于另一个城市的下方.你最好的办法是用CSS修复它,添加
.city_list .city { 
    position: absolute;
    display: none; 
}

唯一的问题是你的城市有多个商城将聚集在一起,你可以通过将你的最后一个jQuery行(fadeIn)更改为:

var count = 15;
jQuery('.city_list .' + shmall_selected_city).each(function(){
    jQuery(this).fadeIn('normal');
    jQuery(this).css('top',count + 'px');
    count += 15;
});

猜你在找的jQuery相关文章