jQuery到常规Javascript覆盖

jQuery到常规Javascript覆盖,javascript,jquery,popup,overlay,Javascript,Jquery,Popup,Overlay,我使用以下jQuery代码为我的网站创建了一个覆盖图 $(function() { var docHeight = $(document).height(); $("body").append("<div id='overlay'></div><div id='my_popup'></div>"); $("#overlay") .height(docHeight) .css({ 'opacity' : 0.4, 'pos

我使用以下jQuery代码为我的网站创建了一个覆盖图

$(function() {
var docHeight = $(document).height();
$("body").append("<div id='overlay'></div><div id='my_popup'></div>");
$("#overlay")
  .height(docHeight)
  .css({
     'opacity' : 0.4,
     'position': 'absolute',
     'top': 0,
     'left': 0,
     'background-color': 'black',
     'width': '100%',
     'z-index': 5000
  });
});
$(函数(){
var docHeight=$(document).height();
$(“正文”)。追加(“”);
$(“叠加”)
.身高(八)
.css({
“不透明度”:0.4,
'位置':'绝对',
“顶部”:0,
“左”:0,
“背景色”:“黑色”,
“宽度”:“100%”,
“z指数”:5000
});
});
我希望使用常规javascript生成相同的结果,无jquery,我将如何开始/开始这项工作


另外,我目前使用的代码会在每个页面上重新加载覆盖,因为它应该只在主页或登录页上加载。有人能提出解决方案吗?

这里是jQuery覆盖的纯javascript/CSS模拟:

var overlay = "<div id='overlay'></div><div id='my_popup'></div>";
document.body.insertAdjacentHTML('beforeend', overlay);
请注意,我使用了
position:fixed
而不是
absolute
,因此我不需要用文档高度设置覆盖高度,可以使用简单的CSS


Exmaple:这里是jQuery覆盖的纯javascript/CSS模拟:

var overlay = "<div id='overlay'></div><div id='my_popup'></div>";
document.body.insertAdjacentHTML('beforeend', overlay);
请注意,我使用了
position:fixed
而不是
absolute
,因此我不需要用文档高度设置覆盖高度,可以使用简单的CSS


Exmaple:直接从jQuery翻译成香草:

(function() {
    if (window.location.href.split('/').pop() == "yourlandingpage") {
        var body = document.body,
            html = document.documentElement,
            docHeight = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight,             html.scrollHeight, html.offsetHeight );

        body.innerHTML += "<div id='overlay'></div><div id='my_popup'></div>";
        document.getElementById("overlay").style.height = docHeight + "px";
        document.getElementById("overlay").className = "NewClass";
    }
}());

直接从jQuery翻译成香草:

(function() {
    if (window.location.href.split('/').pop() == "yourlandingpage") {
        var body = document.body,
            html = document.documentElement,
            docHeight = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight,             html.scrollHeight, html.offsetHeight );

        body.innerHTML += "<div id='overlay'></div><div id='my_popup'></div>";
        document.getElementById("overlay").style.height = docHeight + "px";
        document.getElementById("overlay").className = "NewClass";
    }
}());

它当然会失败并出错。查看appendChild的用法,它需要doElement作为参数,而不是字符串。另外,别忘了在高度值中添加
px
单位。感谢您的解决方案,非常感谢,我将如何使此覆盖仅显示在主页上,或访问者登陆的第一页上?您能给我URL或类似URL的内容吗?在conditionalIt中检查索引页相对容易,当然会出错。查看appendChild的用法,它需要doElement作为参数,而不是字符串。另外,别忘了在高度值中添加
px
单位。感谢您的解决方案,非常感谢,我将如何使此覆盖仅显示在主页上,或访问者登陆的第一页上?您能给我URL或类似URL的内容吗?检查条件中的索引页相对容易感谢您的解决方案,非常感谢,我将如何使此覆盖仅显示在主页上,或访问者登录的第一页?感谢您的解决方案,非常感谢,我将如何使此覆盖仅显示在主页上,还是访客登陆的第一页?