【发布时间】:2011-09-13 13:30:29
【问题描述】:
我在使用 replaceWith fadeIn 和 fadeOut 函数时遇到了一个小问题:
$('#form').fadeOut(300, function() {
var message = 'some message';
$(this).replaceWith($(message).fadeIn(300, function() {
var t = $(this);
setTimeout(function() {
t.fadeOut(300, function() {
location.reload();
});
}, 4000);
}));
});
表单淡出,但没有其他任何事情发生 - 它删除了表单,但什么都没有替换它。
知道这里可能出了什么问题吗?
它实际上是对象字面量的一部分 - 如下所示:
var formObject = {
submitFadeOutReload : function(url, arr) {
jQuery.post(url, arr, function(data) {
formObject.submitReplaceReload(data.message);
}, 'json');
},
submitReplaceReload : function(message) {
if (message !== '') {
formObject.objForm.fadeOut(300, function() {
$(this).replaceWith($(message).fadeIn(300, function() {
var t = $(this);
setTimeout(function() {
t.fadeOut(300, function() {
$(this).replaceWith($(clone).fadeIn(300));
});
}, 2000);
}));
});
}
}
};
【问题讨论】:
-
如果你只是用文本替换它为什么不直接做
$(this).html(message).fadeIn() -
我不想替换表单的内容 - 我想替换表单。
标签: jquery fadein fadeout replacewith