一个javascript,可以显示不同的图像,每一分钟的一天



我是JavaScript新手。我试图做一个php页面上的javascript,可以显示一个不同的照片从一个文件夹的每一分钟的一天。该文件夹包含1440张图像,并相应地命名,因此在7:15将显示一个名为0715.jpg的文件。到目前为止,我有这段代码(主要是由用户Blzn建议的),他建议了一种比我使用的更好的方法。

<script type="text/javascript">
var previousImg = null;
function updateImage() {
  var d = new Date();
  var h = d.getHours().toString();
  var m = d.getMinutes().toString();
  if (h < 10) h = '0' + h;
  if (m < 10) m = '0' + m;
  var img = h + m + '.jpg';
  if (previousImg !== img) {
    var el = document.getElementById('image');
    el.src = '/img/' + img;
    previousImg = img;
  }
}
//updateImage(); // call the first time
setTimeout("updateImage()", 30000); // update each 20 seconds
//function show_image(src, width, height, alt) {
//    var img = document.createElement('img');
//    img.src = '/img/' + img;
    img.width = 800;
    img.height = 400;
    img.alt = "Hello.";
//}
document.body.appendChild(img); 
window.onload=updateImage();
//}
</script>
</head>

我把它放在元素上,它被

调用
<img id='image' src='img/img.jpg' />

,我把它放在页面的HTML主体上。正如我所说,我是新手,可能犯了一个愚蠢的错误。请帮助!。

这很简单!

让我们假设在html中有一个id为myImg的图像。

所以,你调用setInterval函数来改变你的图像每1min (setInterval期望一个函数将被调用,时间单位为毫秒)。

间隔函数必须在 <img>标签加载到html后调用

你既可以在DOMContentLoad事件或放置javascript代码在你的html标签之后。

<img id="myImg" alt="Some image" src="0000.jpg" />
<script type="text/javascript">
  setInterval(function() {
    var myImg = document.getElementById('myImg');
    myImg.src = new Date().toTimeString().substring(0, 5).replace(':', '') + '.jpg';
  }, 60000);
</script>

那么,我们取当前的HHmm并替换图像的src属性

我不确定你的目的,但我做了必要的假设。下面的代码应该可以正常工作,它将通过分配正确的image.jpg

来附加每一分钟显示的图像。
<!DOCTYPE html>
<html>
<head lang="en">
   <script type="text/javascript">
        function updateImage() {
          var d = new Date();
          var h = d.getHours().toString();
          var m = d.getMinutes().toString();
          if (h < 10) {h = '0' + h};
          if (m < 10) {m = '0' + m};
          var img = h + m + '.jpg';
          var el = document.getElementById('image');
          var src = 'img/' + img;
          el.setAttribute('src', src);
        }
        window.onload=function () {
            // we create a variable to hold a reference to the img element
            var img = document.getElementById('image');
            // we change the img properties (attributes) as requried
            img.width = 800;
            img.height = 400;
            img.alt = "Hello.";
            //updateImage();
            // we use the  setInterval method to call the updateImage() function every 60000millisceonds = 60 seconds = 1minute
            setInterval(updateImage(),60000);
        }
        //}
    </script>
</head>
<body>
    <img id="image" src=""/>
</body>
</html>

最新更新