【发布时间】:2021-08-16 16:53:38
【问题描述】:
背景 我创建了一个简单的解决方法来获得在 iPad 和 iPhone 设备上工作的固定背景,即在 body 标记之后创建一个空 div,位置:fixed 而不是这些设备不支持的 background-attachment:fixed。我尝试过的 body 元素的所有变体,比如伪 ::before 在这些设备上都不起作用。一个空的 div 解决了这个问题。
问题
我下面的脚本在我的主页(“主页”/“开始”)上完美运行。但我也有其他页面,如“联系”等,在脚本所在的位置共享相同的“全局”头部标签,但它不起作用(div 根本不显示)。我希望这会在每个正文元素之后添加一个 div,无论加载了哪个页面......另外,我正在使用window.onload,因为我无法在正文标记之后手动添加脚本。每个子页面正文标签都有自己的 id,但为什么这很重要? 我错过了什么?
window.onload = function FixedBg() {
var body = document.body;
var bgDiv = document.createElement('div');
bgDiv.className = "fixedBackground";
body.insertAdjacentElement('afterbegin', bgDiv);
}
我无权手动将 div 直接添加到 DOM 中,否则这显然是一种方法,因此 JavaScript...
【问题讨论】:
-
这里的问题是什么exxactlx?控制台有错误吗?是 div 没有显示出来吗?
-
insertAdjacentElement不接受 html 字符串而不是 dom 节点吗? -
足够真实-我想它必须在内部将dom节点视为字符串。也许尝试将注入绑定到
DOMContentLoaded事件 - 看看是否有帮助 -
好吧,你知道有些怪癖没有人能理解。为什么你这么反对简单地使用更可靠的选项?使用 DOMContentLoaded 不会对您造成伤害,而且它没有更多的编码工作,只需多输入几个字母来输入 window.addEventListener。
标签: javascript html