当前位置:首页 > 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实现一个并发函数

JS实现一个并发函数

实现并发控制的几种方法 在JavaScript中实现并发控制可以通过多种方式,以下是几种常见的方法: Promise.all 使用Promise.all可以并行执行多个异步任务,等待所有任务完成后再…

JS实现勋章

JS实现勋章

实现动态勋章效果 使用CSS和JavaScript创建动态旋转勋章。HTML部分定义勋章容器,CSS设置样式和动画,JavaScript控制交互行为。 <div class="badge-co…

动态实现JS

动态实现JS

动态实现 JavaScript 的方法 动态加载脚本 通过创建 script 元素并插入到 DOM 中实现动态加载。例如: const script = document.createEleme…

JS实现取色

JS实现取色

使用 input[type="color"] 获取颜色值 HTML5 提供了原生颜色选择器,通过 <input type="color"> 可直接调用系统取色工具。用户选择的颜色会以十六进…

JS实现跳表

JS实现跳表

跳表(Skip List)简介 跳表是一种基于概率的平衡数据结构,通过多层链表实现高效查找、插入和删除操作,时间复杂度为 $O(\log n)$。其核心思想是通过“跳跃”式访问节点减少遍历次数。 跳…

JS实现日期滚动选择

JS实现日期滚动选择

实现日期滚动选择的核心思路 使用HTML和CSS构建一个滚动容器,包含年、月、日的可滚动列表。通过JavaScript监听滚动事件,计算当前选中的值并更新显示。 HTML结构示例 <div c…