javascript - 多次使用 Jquery fadeOut

标签 javascript jquery ajax

我的脚本允许用户使用 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">&nbsp;</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/

相关文章:

javascript - 使用数组和对象形成对象数组

jquery - 如何从按钮 onclick 事件启动 fancybox 来绘制谷歌图表?

javascript - 如何在 WebBrowser 控件中捕获 POST 的结果?

javascript - 使用未知数的键处理对象

jquery - .ajaxStart 和 .ajaxStop 由于某些奇怪的原因未触发

javascript - 单引号 (') and double quote (") 在 jQuery 中是否像在 PHP 中一样工作?

javascript - 如何从异步调用返回响应

php - 更新没有HTML form标签的数据库表并从MySQL表中获取特定值并显示

javascript - Laravel-Javascript | Laravel即使返回 false 后表单仍会提交

javascript - 在引导日期范围选择器中解析日期