当前位置:首页 > JavaScript

JS实现网站哀悼

2026-04-07 14:14:29JavaScript

使用CSS滤镜实现灰度效果

通过CSS的filter属性将整个网站设置为灰度模式,适用于哀悼日的视觉调整。将以下代码添加到网站的全局CSS文件中:

html {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}

添加哀悼横幅或遮罩层

在页面顶部添加一个半透明的黑色横幅或全屏遮罩层,增强哀悼氛围。HTML和CSS示例如下:

<div id="mourning-banner"></div>
#mourning-banner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    pointer-events: none;
}

动态控制哀悼模式

通过JavaScript动态切换哀悼样式,例如根据日期或后台配置启用:

// 检查特定日期或条件
const mourningDate = new Date('2023-12-13');
const today = new Date();
if (today.toDateString() === mourningDate.toDateString()) {
    document.documentElement.classList.add('mourning-mode');
}

配套CSS:

.mourning-mode {
    filter: grayscale(100%);
}

使用Cookie或LocalStorage记忆状态

若需允许用户手动关闭哀悼效果,可通过存储用户选择实现:

// 用户关闭哀悼模式后存储偏好
document.getElementById('disable-mourning').addEventListener('click', () => {
    document.documentElement.classList.remove('mourning-mode');
    localStorage.setItem('mourningDisabled', 'true');
});

// 页面加载时检查
if (!localStorage.getItem('mourningDisabled')) {
    document.documentElement.classList.add('mourning-mode');
}

兼容性处理

针对旧版本浏览器(如IE)提供备用方案:

JS实现网站哀悼

// 检测filter支持并回退到背景色覆盖
if (!CSS.supports('filter', 'grayscale(100%)')) {
    const fallback = document.createElement('div');
    fallback.style.backgroundColor = 'rgba(0, 0, 0, 0.3)';
    // 其他回退样式...
}

注意事项

  • 灰度滤镜可能影响图片和视频的显示效果,需测试关键页面元素。
  • 遮罩层的pointer-events: none确保用户可正常交互。
  • 动态加载的内容(如AJAX)需额外监听并重新应用哀悼样式。

标签: 网站JS
分享给朋友:

相关文章

php实现网站查询功能实现

php实现网站查询功能实现

数据库连接与配置 使用PDO或MySQLi建立数据库连接,确保配置信息(如主机名、用户名、密码、数据库名)正确。PDO示例: $dsn = 'mysql:host=localhost;dbnam…

vue结合element实现网站

vue结合element实现网站

Vue 结合 Element UI 实现网站 Vue 是一个流行的前端框架,Element UI 是基于 Vue 的组件库,提供了丰富的 UI 组件,适合快速构建企业级中后台网站。以下是实现的基本步骤…

基于vue网站实现原理

基于vue网站实现原理

Vue 网站实现原理 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心原理包括数据驱动、组件化和虚拟 DOM。 数据驱动与响应式系统 Vue 的核心是响应式系统,通过…

JS如何调用react组件

JS如何调用react组件

调用React组件的常见方法 在JavaScript中调用React组件通常涉及以下几种场景和方式: 直接渲染组件 通过ReactDOM.render()方法将组件渲染到DOM节点: import…

css网站头部制作

css网站头部制作

CSS网站头部制作方法 基础结构搭建 使用HTML5语义化标签构建头部框架,通常包含<header>、<nav>等元素。示例代码: <header class="mai…

php实现网站查询功能

php实现网站查询功能

PHP实现网站查询功能的方法 数据库连接与查询准备 使用PDO或MySQLi扩展连接数据库。PDO支持多种数据库,MySQLi专为MySQL设计。创建连接后,准备SQL查询语句,使用预处理语句防止S…