我想在一天中的特定时间改变标题的颜色。(例如,在晚上蓝色,在早上绿色...)为此,我尝试使用inline-css(在js文件中)。
我的css文件:
.heading {
font-size: 50px;
font-weight: bold;
border-bottom: 5px solid black;
}
我的js文件:
import React from "react";
import ReactDOM from "react-dom";
const root = document.getElementById("root");
const curretnTime = new Date().getHours();
if (curretnTime < 12 && curretnTime >= 0) {
ReactDOM.render(
<div>
<h1 className="heading">Good Morning</h1>
</div>,
root
);
} else if (curretnTime >= 12 && curretnTime <= 18) {
ReactDOM.render(
<div>
<h1>Good Afternoon</h1>
</div>,
root
);
} else {
ReactDOM.render(
<div>
<h1>Good Evening</h1>
</div>,
root
);
}
我知道这是一个很容易问的问题,但任何答案都是有帮助的。谢谢。
6条答案
按热度按时间disho6za1#
您应该使用内联样式,例如:
style={{backgroundColor: timeOfDayColor}}
是覆盖CSS样式的内联样式:https://www.w3schools.com/react/react_css.asp但是,你应该真正使用组件,而不是把所有代码都放在ReactDOM.render方法中。也许可以先试试react教程:https://reactjs.org/tutorial/tutorial.html
tuwxkamq2#
我建议使用不同的类而不是内联css。
w6lpcovy3#
你可以用不同的方法来做,其中之一如下:
JS文件
CSS文件
e0uiprwp4#
我认为您没有使用inline-css -
To use inline styles, add the style attribute to the relevant element. The style attribute can contain any CSS property.
,但这只是“定义”。不管怎么说,你正在做的事情是不正确的,你应该创建一个组件(见:https://reactjs.org/docs/react-component.html),其中包含颜色更改逻辑(请参见:https://reactjs.org/docs/faq-state.html#what-does-setstate-do-你可以把颜色保存在
state
中)。然后你可以添加componentDidMount
方法,在那里你可以添加setInterval
-所以你基本上可以设置“每X小时我会改变颜色”。cld4siwp5#
你可以这样做:
kd3sttzy6#