javascript - 在用户端根据白天和夜间在2个背景图像之间切换
问题描述
我有一个网页,我希望根据用户的白天和黑暗时间更改背景图像。这可能吗?如果是这样,你能举一个这样的 JavaScript 代码的例子吗?如果不是,如果昼夜时间取决于位置(城市),JS 代码会是什么样子?感谢您的任何建议。PS 我不包括我的代码,因为网页背景有一个简单的图像背景 HTML 代码。
解决方案
var now = new Date();
if (now.getHours() > 6 && now.getHours() < 20) {
document.body.className += " day";
} else {
document.body.className += " night";
}
.day {
background-image: url("https://images.pexels.com/photos/125457/pexels-photo-125457.jpeg?cs=srgb&dl=blue-sky-bright-clouds-125457.jpg&fm=jpg");
background-size: 100%;
}
.night {
background-image: url("https://media.treehugger.com/assets/images/2016/06/milkyway.jpg.860x0_q70_crop-scale.jpg");
background-size: 100%;
}
这使用 Javascript 的Date 对象获取时间。有 2 个 css 类,day
它们night
将背景图像设置为白天图像或夜间图像。javascript 检查它是否在早上 7 点到晚上 7 点之间。如果是,它将day
类添加到正文中,如果不是,则添加night
类。如果你真的想包含真正的日落和日出而不是硬编码的时间,那么你可能必须使用一些 API。
推荐阅读
- excel - Copy Data from Sheet to another based on drop-down value
- oracle - Error ORA-12162: TNS:net service name is incorrectly specified on Ubuntu 18.04 after installing sqlplus
- ruby-on-rails - Rails Many to Many with Descriptor cield
- sql - 为什么两个表之间的完全外部连接的结果中有 NULL?
- python - Python: Check a user recording, to tell whether there is valid speech, for a voice identifier
- javascript - Why my E6 code ${"name"}; isn't working as supposed?
- scala - Option[] 的 OpenAPI 3 规范
- python - 如何在python中检测输入字符串中的重复字母并打印列表中重复的字母?
- typescript - Create a type that allow one member within an interface
- sql - 如何在 SQL (Databricks) 中选择列表中至少存在 2 个项目的 ID