javascript - 如何覆盖 CSS 配色方案设置

标签 javascript jquery html css

在 HTML 中。 现在我知道当用户改变他们的系统配色方案时我们可以要求 CSS 做一些事情,比如

@media (prefers-color-scheme: dark)

但是,如果我想覆盖该设置,就像我在晚上需要浅色配色方案,但我不想更改我的系统配色方案设置,是否有任何 JavaScript 或 jQuery 方法来欺骗 CSS(继续黑暗即使在系统亮起时也能 parking ,或在对面),所以我可以通过单击某些元素来切换网页配色方案?

最佳答案

您应该首先以 24 小时格式获取当前时间,如下所示:

var dayNight = (new Date()).getHours();

现在,您很可能有 2 个具有背景颜色的类,1 个用于白天,1 个用于夜间。

因此,您可以使用 if/else 语句来决定何时使用 JQuery 添加或删除类。

所以在我的示例中,当 .dayNight 大于或等于 7(早上 7 点)且小于 19(晚上 7 点)时,它添加了 .day 类并且删除 .night 类。

.dayNight 大于或等于 0(午夜 12 点)并且小于 7(早上 7 点)时,它添加 .night 类并且删除 .day 类。

此外,当它大于或等于 19(晚上 7 点)且等于或小于 23(晚上 11 点)时,它会执行与上述相同的操作。我们已经在上面的代码中分配了 0(午夜 12 点),所以我们可以在这里将其设置为 23(晚上 11 点)。

试试这个:

var dayNight = (new Date()).getHours();

if(dayNight>=7 && dayNight < 19) {
  $( "#display" ).removeClass( "night" ).addClass( "day" );
}

if((dayNight>=0 && dayNight<7) || (dayNight>=19 && dayNight <=23)) {
	$( "#display" ).removeClass( "day" ).addClass( "night" );
}
.day {
  background-color: blue;
  color: white;
}

.night {
  background-color: red;
  color: white;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="display">
Hello!
</div>

关于javascript - 如何覆盖 CSS 配色方案设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58211905/

相关文章:

php - 使用字符串替换换行

javascript - 在复选框列表中选中复选框后启用输入字段

javascript - 在一个图像上定义多个点击区域

javascript - 如何捕获 No Access-Control-Allow-Origin 错误?

javascript - 在 Ajax 中使用数组

javascript - 如何在不使用任何插件的情况下创建随机和动态大小图像的马赛克风格图像库?

html - 如何在移动设备上缩小图像并去除白边空间?

css - 在全屏 div 中居中基于百分比的 div

html - 对齐按钮 HTML/Bootstrap 中的元素

javascript - CanvasRenderingContext2D 中的 alpha 属性是什么?