javascript - 根据布尔值更改几个CSS
问题描述
我正在创建一个页面,该页面会根据一天中的当地时间发生变化。如果是晚上有另一个背景图像,颜色不同等等。我做了一些更改,document.getElementById();
但是对于每个元素来说这将花费太长时间。
我在想,是否有一种基于布尔结果执行多个 css 代码的捷径。我试图寻找类似的东西,@input css
但找不到更多。
编辑:我实际上的意思是“是否有一种捷径可以从不同的 div 和 id 更改几个 css 代码”。例如:color:
of#message
会根据一天中的时间而有所不同
解决方案
使用 JavaScript,您可以body
根据一天中的什么时间向元素添加不同的类。然后,您可以使用这些类来设置页面上任何其他元素的样式。
const hour = new Date().getHours();
let className = 'morning';
if (hour > 21) {
className = 'night';
} else if (hour > 18) {
className = 'evening';
} else if (hour > 12) {
className = 'afternoon';
}
document.body.classList.add(className);
.bg {
background: red;
color: white;
}
.night .bg {
background: black;
}
.evening .bg {
background: orange;
}
.afternoon .bg {
background: yellow;
}
.morning .bg {
background: green;
}
<html>
<head>
</head>
<body>
<div class="bg">
<p>Lorem ipsum...</p>
</div>
</body>
</html>
推荐阅读
- r - ggplot2第一次休息的不同标签
- django - 在 AWS S3 上设置媒体文件访问
- google-cloud-platform - 我想使用 terraform 在 GCP 中创建公共和私有子网
- azure - 如何将 Azure devops 服务挂钩事件元数据作为参数发送到 jenkins 管道
- python - 无法使用漂亮的汤选择特定的 html 元素
- javascript - 根据状态为单选按钮列表动态添加类:ReactJS
- rxjs - Rxjs - 在订阅函数中等待
- ios - 没有找到 `React-fishhook` 的 podspec
- css - 在 Angular UI-Grid 中选择一行时复制剪贴板上的行数据
- java - 在多个登录的 Web 用户之间分隔变量的值