繁体   English   中英

根据一天中的时间更改图像

[英]Change an image based on the time of day

我正在一个包含许多根据一天中的时间而变化的元素的网站。 我想根据一天中的时间更改图像,一天中更改一张图像,晚上更改一张图像,所以:

每日图片= 8:30–00:00

夜景图片= 00:00–8:30

我在Stackoverflow上遇到了这个示例,但是我不确定这对我的浏览器时间是否准确(图像更改应基于我的时间而不是用户)。

这是示例:

 $( document ).ready(function() { SetImage(); window.setInterval(SetImage,1000); }); function SetImage(){ var nowdate = new Date() ; var waketime = new Date(); waketime.setHours(6); waketime.setMinutes(30); var bedtime = new Date(); bedtime.setHours(18); bedtime.setMinutes(30); if(waketime < nowdate && nowdate < bedtime){ $('#day').show(); $('#night').hide(); }else{ $('#night').show(); $('#day').hide(); } } 
 <img id="night" src="http://1.bp.blogspot.com/_7-b4ZWNPaD8/TThuPK0cvUI/AAAAAAAAAAQ/jCqRshKkJd4/s1600/night-scene.jpg"> <img id="day" src="http://media1.santabanta.com/full1/Events/Independence%20Day/independence-day-67a.jpg"> 

有任何想法吗? 任何帮助都将是极好的。 谢谢 :-)

在服务器端检查时间,然后根据该时间在主体上添加夜晚或白天(作为类或数据属性)

此外,如果用户不重新加载,则可以运行脚本并进行更新。

 window.setInterval(SetImage,5000); /* set this to at least 10 min */ function SetImage(){ var nowdate = new Date(); var waketime = new Date(); waketime.setHours(6); waketime.setMinutes(30); var bedtime = new Date(); bedtime.setHours(18); bedtime.setMinutes(30); if(waketime < nowdate && nowdate < bedtime) { document.body.setAttribute('data-daytime',''); }else{ document.body.setAttribute('data-nighttime',''); } } 
 .toggletime { padding: 10px; background: #eee; color: #333; } body[data-nighttime] .toggletime { padding: 10px; background: #333; color: #eee; } 
 <body data-daytime> <div class="toggletime"> Hey there </div> </body> 

客户时间:

如果您在谈论客户时间,那很好。 但我建议将使用的时间间隔更改为10分钟或更长时间。

服务器时间:

但是,如果您正在谈论服务器时间,则响应为否。 您必须通过php,java,node等后端代码传递服务器时间, 或者 ,也可以使用给定的api时间,例如:

 <script type="text/javascript">
  function myCallback(json) {
    alert(new Date(json.dateString));
  }
</script>
<script type="text/javascript" src="http://timeapi.org/utc/after+one+hour.json?callback=myCallback"></script>

仅当您使用JSONP时,此功能才有效。 我们要做的是请求包含您服务器时间的网址(在阿姆斯特丹): http : //www.timeapi.org/utc/after+one+hour

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM