javascript - 如何仅在新图像实际可用时才刷新图像源?

标签 javascript jquery image src

<!--WunderGroundRadar--> 
<script type = "text/javascript">
   setInterval(function refreshRadar() {

   document.getElementById("content14").src =  "http://api.wunderground.com/api/MyAPIkey/animatedradar/q/autoip.gif?&radius=90&num=15&delay=20&width=430&height=500&smooth=1&newmaps=1&interval=15&rainsnow=1" 
  }, 900000);

</script>

我使用上面的代码大约每 15 分钟刷新一次我网站上的天气雷达 .gif 图像。这通常效果很好,但有时当刷新发生时,图像从它的源中断开并且我的网站有一个损坏的图像图标,直到大约下一次刷新发生。 15分钟后。我想对此进行设置,以便如果请求的图像在刷新功能运行时损坏或不可用,我会保留已加载的图像,而不是用损坏的图像图标替换它。我愿意使用任何可能实现此目的的 javascript 或 Jquery,但我是一名新手程序员,所以如果你能分解任何复杂的代码,我将不胜感激。谢谢!

最佳答案

你可以试试这样的东西

<script type = "text/javascript">
   setInterval(function refreshRadar() {

      img = new Image();

      img.onload = function(){
         document.getElementById("content14").src = img.src;
      };

      img.src = "http://api.wunderground.com/api/MyAPIkey/animatedradar/q/autoip.gif?&radius=90&num=15&delay=20&width=430&height=500&smooth=1&newmaps=1&interval=15&rainsnow=1" 

  }, 900000);

</script>

它尝试将源加载到临时图像,并且仅在成功加载时将源分配到“content14”

关于javascript - 如何仅在新图像实际可用时才刷新图像源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20409021/

相关文章:

javascript - Node.js 如何将 geojson 从 mongodb 传递到我可以在前端使用的对象

python - 多图片背景matplotlib

javascript - AngularJS ui-bootstrap 打开模态窗口而不改变url

javascript - 如何检查 foo 是否存在?

jquery - 革命 slider 单击停止并开始

javascript - 从ajax html响应创建jquery元素

php - 使用 class.upload.php 编辑上传的图像

java - 下载照片时遇到问题

javascript - 如果使用对另一个对象的调用在 JavaScript 中构造匿名对象,为什么我不能返回匿名对象?

javascript - 内联箭头函数点击监听器