首页 > 解决方案 > 使用超时功能在 onreadystatechange 期间禁用滚动和触摸输入

问题描述

我这里有一些脚本作为网站的加载器/打开动画。

document.onreadystatechange = setTimeout(function() {
    if (document.readyState !== "complete") {
        document.querySelector(
          "body").style.visibility = "hidden";
        document.querySelector(
          "#loader").style.visibility = "visible";
    } else {
        document.querySelector(
          "#loader").style.display = "none";
        document.querySelector(
          "body").style.visibility = "visible";
    }
}, 4000);

这很好用,但我注意到在执行上述脚本期间仍然可以滚动。我的问题是在这种情况发生时禁用滚动和触摸交互的最佳方法是什么,我将如何将它集成到我已经拥有的东西中?

标签: javascriptpreloaderonreadystatechange

解决方案


推荐阅读