当前位置:首页 > JavaScript

JS实现哀悼

2026-02-28 20:18:20JavaScript

实现网页哀悼效果的方法

在网页上实现哀悼效果通常指将页面整体调整为黑白或灰色调,以示哀悼。以下是几种常见的实现方式:

CSS滤镜实现 通过CSS的filter属性可以快速将整个页面转为灰度。将以下代码添加到网站的全局CSS或<head>标签中:

html {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
    filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
}

JavaScript动态切换 通过JavaScript可以动态添加或移除哀悼效果:

JS实现哀悼

function setMourningMode(enable) {
    if (enable) {
        document.documentElement.classList.add('mourning-mode');
    } else {
        document.documentElement.classList.remove('mourning-mode');
    }
}

// 调用示例
setMourningMode(true); // 开启哀悼模式

配合CSS:

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

兼容性处理 对于不支持CSS滤镜的旧浏览器,可以使用备用方案:

JS实现哀悼

/* 备用方案:通过覆盖半透明黑色层 */
.mourning-mode::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 9999;
    pointer-events: none;
}

特定元素处理 如果只需要对特定元素应用哀悼效果:

.mourning-element {
    filter: grayscale(100%);
    opacity: 0.8;
}

性能优化 全页面滤镜可能影响性能,特别是对大型网站。可以考虑:

  • 只对主要内容区域应用滤镜
  • 使用will-change: filter优化
  • 避免在动画元素上使用

注意事项

  • 测试不同浏览器的兼容性
  • 考虑用户偏好,提供关闭选项
  • 确保文字内容仍保持可读性
  • 避免影响网站功能和交互

标签: JS
分享给朋友:

相关文章

JS如何调用react组件

JS如何调用react组件

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

JS如何访问react内部的数据

JS如何访问react内部的数据

访问 React 组件内部数据的方法 在 React 中,组件内部的数据通常通过 state 或 props 管理。以下是几种常见的访问方式: 通过 state 访问数据 React 组件的内部状态…

JS实现日期滚动选择

JS实现日期滚动选择

实现日期滚动选择的基本思路 使用HTML、CSS和JavaScript创建一个日期滚动选择器,允许用户通过滚动选择年、月、日。核心是通过监听滚动事件,动态更新显示的值。 HTML结构 创建一个包含年…

JS实现文本的删除

JS实现文本的删除

使用 substring() 方法 通过指定起始和结束索引截取字符串的一部分,间接实现删除效果。 let str = "Hello World"; let newStr = str.substr…

JS能实现跨平台吗

JS能实现跨平台吗

JavaScript 的跨平台能力 JavaScript 是一种高度灵活的脚本语言,通过不同运行时环境和工具链可以实现跨平台开发。以下是其跨平台能力的核心实现方式: 浏览器环境 JavaScript…

用JS实现冰墩墩

用JS实现冰墩墩

以下是用JavaScript绘制冰墩墩的几种实现方法,结合Canvas绘图和SVG路径数据: 使用Canvas绘制基础轮廓 const canvas = document.createElement…