【问题标题】:overlay image with a spinner用微调器覆盖图像
【发布时间】:2011-03-07 20:38:34
【问题描述】:

我需要在现有图像上叠加一个微调器图像,直到生成新图像并替换旧图像。

$(document).ready(function()
{
    $(".deleteWord").live("click", function(event)
    {
        $("#Image").attr("src","").
        $("#Image").attr("src","images/spinner.gif");
        $("#Image").attr("src","RegenerateImage?para="+param);


    });
});

这就是我目前正在做的事情。但这只是删除现有图像,放置微调器,重新生成图像并替换微调器。

【问题讨论】:

  • 你试过我的建议了吗?
  • 感谢您的建议屠夫。我收到以下错误:$("#HiddenImage").src 不是函数
  • 抱歉改成 $("#HiddenImage").attr("src","RegenerateImage?para="+param");

标签: jquery spinner


【解决方案1】:

发生这种情况是因为这就是您告诉它要做的事情 :) 您需要做的就是在图像上连接一个 onload。

有很多选择可以实现这一点。其中之一是拥有一个 style="display:none;" 的图像在页面上并更改该图像的"src"。当该图像加载时更改您的目标图像"src"。因为浏览器已经加载了图片,所以才会出现。

<img id="HiddenImage" src="" style="display:none;" />

$(".deleteWord").live("click", function(event)
    {
        $("#Image").attr("src","images/spinner.gif");
        $("#HiddenImage").attr("src","RegenerateImage?para="+param");
        $("#HiddenImage").load(function(){
             $("#Image").attr("src","RegenerateImage?para="+param");
        });        
    });

【讨论】:

  • 我尝试了你的建议,但只显示微调器图像,没有生成新图像。我使用firebug调试并注意到它没有进入加载功能。这是代码
  • HTML 有错误。也许这就是为什么?
  • HTML 错误是在此处编写时出现的拼写错误。我宁愿错过 attr 方法中的 src 参数。我将其更正为 $("#HiddenImage").attr("src","RegenerateImage?para="+param"); 现在微调器出现了,但它没有覆盖上一个图像
  • 在加载函数中设置警报?它到达那里了吗?
  • 你也确定“param”存在吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
相关资源
最近更新 更多