javascript - 如何让灯箱占据整个页面并让用户看起来无缝衔接?

标签 javascript html css lightbox

我们想创建一个在页面加载时显示的整页灯箱。目前我们只能在它显示灯箱后面的一些元素(例如客户 Logo 、导航等)后才能实现。

  • 我希望它对用户来说是无缝的,看起来就像一个着陆点 页。只是寻找想法,因为我知道之前加载了头部内容 正文内容。
  • javascript 是我们提供给客户的分析代码,它 必须进入页面正文,我们无权访问 他们网站的头部部分。
  • 他们将来自广告 - 所以他们会期待
    内容,它看起来像一个网站。这只是一种更简单的方法 在客户网站上设置登陆页面,而无需他们 使用 FTP、创建空白页面、添加代码等。

所以我要么需要一种方法来在头部中的 javascript 之前加载正文中的 javascript,要么需要一种方法来在灯箱加载时屏蔽页面背景中的所有内容。

最佳答案

这是我以前在其他图书馆遇到过的问题。我将范围缩小到我正在检查以触发灯箱脚本的事件。一些灯箱脚本会等待 window 对象加载,然后才允许您启动灯箱,而其他灯箱脚本则不会。你需要后者。此外,您 Hook 的事件不应该是 window 加载,而是 DOM 准备就绪。在 jQuery 中它将是:

jQuery(documument).ready(function(){ 
    //some code 
});

在 vanilla JS 中它会是:

document.addEventListener("DOMContentLoaded", function() {
    // some code
});

这将等待所有 DOM 元素加载,但会在任何元素呈现之前触发。这应该是启动灯箱的好地方,因为所有需要的元素都在 DOM 中,而不是在页面上。当页面呈现时,这应该将您的灯箱放在 DOM 中,您不会得到 FOUC。 .

另一种选择

您可以采用的另一个不错的方法是将灯箱添加到 HTML 中的页面并设置 cookie 以隐藏灯箱。新用户将立即获得灯箱,回访用户不会被另一个弹出窗口打扰。您会在许多医疗保健和政府网站上看到这一点。

关于javascript - 如何让灯箱占据整个页面并让用户看起来无缝衔接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23223624/

相关文章:

html - 测试被 svg 边界切断

html - 在 div 容器中间居中内容

jquery - 替代宽度/高度 : 0px

javascript - 如何将 url/text 中的符号转换为十六进制字符? (转换 = 到 %3D)

javascript - 多态化将 float 与整数区分开来的函数(javascript)

html - body 右侧的空间用于小型设备

javascript - 使用 JSON 对象制作 html 表

css - 更改 Shiny 小部件的背景和字体颜色

javascript - 带有选择验证功能的 jQuery UI 对话框

javascript - Yammer REST API - 使用换行符发布到 messages.json