javascript - 使用 Javascript 在窗口加载后删除 Body 类

标签 javascript css

我在主体上使用 CSS 类来停止在加载文档时运行的转换。一旦窗口加载了 JavaScript(无 jQuery),我如何删除它?

HTML:

<body class="preload">

CSS:

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}

这将是 jQuery 等价物 *除非我没有使用 jQuery:

$("window").load(function() {
  $("body").removeClass("preload");
});

最佳答案

这应该可以解决问题:

window.addEventListener(
    'load',
    function load()
    {
        window.removeEventListener('load', load, false);
        document.body.classList.remove('preload');
    },
    false);

使用 addEventListener 意味着它不会干扰可能由其他库等附加的任何其他事件监听器。

一旦事件也被触发,上面的代码将删除事件监听器。

我本以为事件监听器应该在 document 上,但显然 that doesn't work .

关于javascript - 使用 Javascript 在窗口加载后删除 Body 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22744438/

相关文章:

javascript - 如何在 html block 内循环 javascript 变量?

Jquery 在 div 上创建双数组 .click 函数,用于 div 之间的交互

css - 列表中的元素符号我如何删除它

html - 调整占位符文本大小以适应输入文本字段 Bootstrap

javascript - 设置 MUI 切换按钮组的默认值

javascript - 循环遍历页面上所有选中的复选框并将 id 拉入数组不起作用

javascript - 从 ASP.Net MasterPage 调用 JS 函数

css - Bootstrap btn-link 垂直对齐略微超出

Opera 中的 HTML 错误

javascript - 搜索对象 react