我正在尝试淡出对话框的现有文本,然后在错误图像中同时淡出。
我该怎么做?现在我让它(有点)起作用了,但也有一些地方不对劲。
注意:我不能只是在div中淡出,因为整个程序#对话框都是被写入的,所以如果我将div.error存储在其中,它就会被覆盖,所以我需要这样做。
到目前为止我拥有的
$.ajax({
type: "POST",
url: "/checkstatus/" + id,
dataType: "html",
error: function(data){
$("#dialog").fadeOut();
$("#dialog").hide().html("<img src='/img/deleted.jpg' alt='deleted'>")
$("#dialog").fadeIn();
}
});发布于 2011-12-24 09:45:50
$.ajax({
type: "POST",
url: "/checkstatus/" + id,
dataType: "html",
error: function(data){
$("#dialog").fadeOut(function(){
$("#dialog")
.html("<img src='/img/deleted.jpg' alt='deleted'>")
.fadeIn()
});
}
});发布于 2011-12-24 09:57:54
您不能同时拥有一个对象fadeOut和fadeIn --对象一次只能拥有一种状态(它要么正在衰退,要么正在消失,但两者都不能)。
如果你真的想要那种视觉效果,你将需要两个独立的对象,一个褪色,另一个褪色。例如,当幻灯片淡出一个图像,同时淡出下一个图像时,会有多少个幻灯片工作。它们实际上是在逐渐消失,而在另一个物体中消失。
所以,如果你真的想在你的对话框的视觉效果的同时出现双重淡出,你需要两个对话框,一个淡出,另一个淡入。
如果您愿意按顺序执行这些操作,那么旧的对话框就会消失,然后新的对话框就会逐渐消失(这两个对话框是一个接一个地消失,而不是同时消失),那么您可以使用Vitaly在执行fadeOut()时建议的代码类型,然后在该fadeOut()的完成函数中更改对话框的内容,然后执行一个fadeIn()。
如果您有理由只想要一个对话框,并且希望同时消失,那么您可以在对话框中使用fadeOut()一个内容块,并fadeIn另一个内容块。您会将每个内容块放在它自己的div中,然后在同一个对话框中淡出一个,另一个淡出。您必须手动定位两个div才能在彼此之上(覆盖)。这是可能的,但需要做更多的工作。
https://stackoverflow.com/questions/8623760
复制相似问题