【问题标题】:jQuery / javascript - refresh image after X secondsjQuery / javascript - X秒后刷新图像
【发布时间】:2011-02-10 05:24:13
【问题描述】:

我正在使用网站缩略图生成服务,我正在使用 javascript 提取缩略图,例如:

$("body").append("<img class="thumbnail" src='http://s.wordpress.com/mshots/v1/"+url+"?w=200' width='200' />");

它工作正常,但如果第一次生成缩略图,我会收到“正在生成预览...”消息,我必须刷新页面才能看到图像。

那么有什么方法可以让我在 5 秒后“刷新”图像,什么时候应该已经生成?

【问题讨论】:

    标签: javascript jquery html image


    【解决方案1】:

    我猜你可以在 URL 中附加一个无用的参数来使浏览器缓存无效并设置src 属性。为此,我认为最好将您的append 调用转换为appendTo 调用

    $img = $('<img class="thumbnail" src="http://s.wordpress.com/mshots/v1/'+url+'?w=200" width="200" />').appendTo(document.body);
    setTimeout(function(){
        $img.attr('src', function(i, oldSrc){
            return oldSrc + '&_=reload';
        });
    }, 5000);
    

    【讨论】:

      【解决方案2】:

      您正在寻找 Javascript setTimeout 方法。

      【讨论】:

        【解决方案3】:

        是的,您可以使用 setTimeout() 函数。要强制重新加载图像,您应该在图像补丁的末尾附加一个随机参数,例如,

        domain.com/image.jpg?random_param=random_number
        

        【讨论】:

          【解决方案4】:

          这将适用于您的情况。把你的图片放在一个“div”中,然后调用下面的函数

          function timestamp () {
              var id = //get_element from the div
              $("#id").append("<img class="thumbnail" src='http://s.wordpress.com/mshots/v1/"+url+"?w=200' width='200' />");
          setTimeout("timestamp()", 60000);
          }
          

          【讨论】:

            猜你喜欢
            • 2012-07-14
            • 1970-01-01
            • 2013-08-19
            • 1970-01-01
            • 1970-01-01
            • 2016-01-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多