这是我多次面临的问题:
fadeOut()
该元素fadeIn()
该元素问题在于:我的代码如下所示:
function showOnlyElement(myEl)
{
$('body')
.children('div:not(.'+myEl+')')
.fadeOut()
.promise().done(function() {
var el=b.children('div.'+myEl);
if (el.is(':visible')) {
/* I have to hide it before modifying it */
el.fadeOut(function() {
/* long code (A) modifying the innerHTML of el */
el.fadeIn();
});
} else {
/* AGAIN same long code (A) modifying the innerHTML of el */
el.fadeIn();
}
});
}
我只是想把它弄干净所以不要重复same long code (A)
你是如何做到这一点的(通用方式)?
答案 0 :(得分:1)
简单的通用解决方案:
$('body')
.children('div:not(.'+myEl+')')
.fadeOut()
.promise().done(function() {
var el=b.children('div.'+myEl);
function longCode(){
/* long code (A) modifying the innerHTML of el */
el.fadeIn();
}
if (el.is(':visible')) {
el.fadeOut(longCode);
} else {
longCode();
}
});