我的脚本允许用户使用 AJAX 上传文件,该文件会显示一条成功消息,然后淡出。但是,如果他们上传另一个文件(上传等工作正常),该消息将不会再次显示。
AJAX
<script>
$(document).ready(function() {
$('#logo_save').click(function(){
var image_name = $('#image_name').text();
{
jQuery.ajax({
type: "POST",
url: "save_uploaded_logo.php",
data: 'id='+image_name,
cache: false,
success:function(response){
$('#new_header_preview').html(response.logo);
$('#logo_upload_success').html('Image Saved').fadeOut('slow');
}
});
}
});
});
</script>
用于显示消息的表格部分
<table id="report_content_practice">
<tr>
<td id="upload_success" style="width:370px; vertical-align:middle">
<span id="logo_upload_success"> </span>
</td>
</tr>
</table>
最佳答案
正如其他人所说,原因是第一次运行脚本后,DOM 元素被隐藏。您需要在运行淡入淡出之前再次显示该元素,否则您将尝试在 Opacity:0
的元素上运行 fadeOut。
正如我在评论中所说,在您的 success
函数中,在调用 fadeOut 之前运行 show()
。
$('#logo_upload_success').html('图片已保存').show().fadeOut('slow');
关于javascript - 多次使用 Jquery fadeOut,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19934631/