【问题标题】:javascript pop up a div element in the center of the webpagejavascript在网页中心弹出一个div元素
【发布时间】:2014-05-14 07:43:35
【问题描述】:

如何在网页中心弹出一个 div 元素。 也。我需要 div 上的按钮来关闭 div 元素。 并且div元素完全不会影响网页。

在我的 JS 代码中,我已经创建了一个 div 元素。

var div = document.createElement("div");
div.style.background = "white";
div.id = "demo";
$(div).addClass("GridTableContent");

我想弹出我在网页中心创建的 div 元素。 并添加一个关闭 div 按钮。

更新

我认为我需要提供有关问题的更多详细信息

首先,这段代码被注入到一个 chrome 扩展的网页中,所以它是纯 javascript

我肯定写不出来

<div class='overlay'>
<div class='popup'>
<div class='close'>&#10006;</div>
   <h2>Popup</h2>
</div>

这都是动态创建的,所以我想我不能使用下面提供的代码。 我以前看到其他问题,有人建议我使用 http://www.ericmmartin.com/projects/simplemodal-demos/

我发现该页面中的 BASIC MODAL DIALOG 很好, 有没有办法使用它。

更新

我觉得我需要提供更详细的信息。

一开始我创建了一个按钮并已经注入到网页中

var div = document.getElementById("btnSearch");
var input = document.createElement('input');
input.id='visualization';
input.type='button';
input.value='visualiztion';
$(input).insertAfter(div);

然后我创建一个 div 元素

var div = document.createElement("div");
div.style.background = "white";
div.id = "demo";

我该怎么做,当我单击按钮时,中心网页上会弹出 div 元素。我想我还需要创建一个按钮来关闭 div 元素。

【问题讨论】:

  • 在此处发布示例代码。
  • 没试过,但是我可以使用 JQuery。所以我需要一些关于我应该做什么的建议。
  • 关于您在编辑后分享的任何内容 - 实际的 HTML 结构是什么?你打算怎么看这个div..?它没有高度、宽度等,因此不可见。相应的CSS在哪里..?你能提供一个JSFiddle 吗?

标签: javascript html popup


【解决方案1】:

试试这样的东西

HTML

<div class='overlay'>
<div class='popup'>
    <div class='close'>&#10006;</div>
     <h2>Popup</h2>
</div>

显示

CSS

*{
 margin:0;
}
html, body {
 height:100%;
}
.overlay {
 position:absolute;
 display:none;
 top:0;
 right:0;
 bottom:0;
 left:0;
 background:rgba(0, 0, 0, 0.8);
 z-index:9999;
}
.close {
 position:absolute;
 top:-40px;
 right:-5px;
 z-index:99;
 width:25px;
 height:25px;
 cursor:pointer;
 color: #fff;
 display: inline-block;
}
.popup {
 position:absolute;
 width:50%;
 height:50%;
 top:25%;
 left:25%;
 text-align:center;
 border-radius: 10px;
 background:white;
 box-shadow: 0px 0px 10px 0px black;
}
.popup h2 {
 font-size:15px;
 height:50px;
 line-height:50px;
 color:#fff;
 background:rgb(24, 108, 209);
 border-radius:10px 10px 0px 0px;
}
.button {
 width:50px;
 height:50px;
 color:#fff;
 font-weight:bolder;
 border-radius:10px;
 background:silver;
}

脚本

$('.button').click(function () {
  $('.overlay').show();
})
$('.close').click(function () {
  $('.overlay').hide();
})

DEMO

更新

动态注入: DEMO

【讨论】:

  • 谢谢,但我需要所有由 javascript 创建的代码。包括按钮和弹出的 div 元素。
  • 谢谢,它有效,但是,$('body').html(htmlString) 似乎覆盖了整个网页。和 var htmlString="
    " +"" +"
    " +"" 仍然没有包含我的div元素动态创建,我该如何添加div 进去?
  • 不要用html()替换html,而是使用append()。什么div元素?您可以更改在 htmlstring 中具有 class=popup 的 div 以获得您需要的 id 或类 ..
  • 我稍微改变一下我的问题,让它更清楚。感谢您的关注
  • @user3587729 当您修改问题时,请提及这是为了更好地理解并保留原始问题的更新。否则,现有的 cmets 和答案会使未来的读者感到困惑,因此我将通过更新将您的问题恢复到初始状态。现在根据需要编辑和修改,而不更改整个问题
猜你喜欢
  • 2012-09-19
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-12
  • 2012-10-09
相关资源
最近更新 更多