HTML、JavaScript和CSS中的自定义弹出框
我正在尝试创建一个类似以下内容的弹出框:HTML、JavaScript和CSS中的自定义弹出框,javascript,html,css,popup,Javascript,Html,Css,Popup,我正在尝试创建一个类似以下内容的弹出框: 我只想使用JavaScript。我意识到,通过提出这个要求,我可能会使这项任务更加困难,但我仍在努力学习JavaScript,所以我真的不想把自己与JQuery混淆。我基本上想做一个提示或警告风格的弹出框。提前感谢您的帮助 这是自定义弹出窗口的视频教程 css 那么你的问题是什么?你试过什么?堆栈溢出不是教程的地方。试着实现一些东西,如果你被卡住了,问一个具体的问题。此外,如果您正在学习Javascript,jQuery不应该让您感到困惑。在这种情况下
我只想使用JavaScript。我意识到,通过提出这个要求,我可能会使这项任务更加困难,但我仍在努力学习JavaScript,所以我真的不想把自己与JQuery混淆。我基本上想做一个提示或警告风格的弹出框。提前感谢您的帮助 这是自定义弹出窗口的视频教程 css
那么你的问题是什么?你试过什么?堆栈溢出不是教程的地方。试着实现一些东西,如果你被卡住了,问一个具体的问题。此外,如果您正在学习Javascript,jQuery不应该让您感到困惑。在这种情况下,它肯定会使事情变得更容易,并且可能会扩大你的理解;如何创建一个弹出框,类似于我发布的链接,只有HTML、CSS和JavaScript。bootstrap不是答案(请确定,昆汀,我添加了代码和JSFIDLE。回答然后像添加JFFIDLE等改进你的答案是违反政策的,还是这就是人们投票反对的原因?通常避免在答案完整之前提交答案是很有帮助的。没有人知道你是否打算编辑一篇只包含链接的帖子。
<!-- html file -->
<div id="blanket" style="display:none;"></div>
<div id="popUpDiv" style="display:none;">
<a href="#" onclick="popup('popUpDiv')" >Click to Close CSS Pop Up</a>
</div>
<a id="link" onclick="popup('popUpDiv')">Click to Open CSS Pop Up</a>
function toggle(div_id) {
var el = document.getElementById(div_id);
if ( el.style.display == 'none' ) { el.style.display = 'block';}
else {el.style.display = 'none';}
}
function blanket_size(popUpDivVar) {
if (typeof window.innerWidth != 'undefined') {
viewportheight = window.innerHeight;
} else {
viewportheight = document.documentElement.clientHeight;
}
if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
blanket_height = viewportheight;
} else {
if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
blanket_height = document.body.parentNode.clientHeight;
} else {
blanket_height = document.body.parentNode.scrollHeight;
}
}
var blanket = document.getElementById('blanket');
blanket.style.height = blanket_height + 'px';
var popUpDiv = document.getElementById(popUpDivVar);
popUpDiv_height=blanket_height/2-200;//200 is half popup's height
popUpDiv.style.top = popUpDiv_height + 'px';
}
function window_pos(popUpDivVar) {
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerHeight;
} else {
viewportwidth = document.documentElement.clientHeight;
}
if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) {
window_width = viewportwidth;
} else {
if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) {
window_width = document.body.parentNode.clientWidth;
} else {
window_width = document.body.parentNode.scrollWidth;
}
}
var popUpDiv = document.getElementById(popUpDivVar);
window_width=window_width/2-200;//200 is half popup's width
popUpDiv.style.left = window_width + 'px';
}
function popup(windowname) {
blanket_size(windowname);
window_pos(windowname);
toggle('blanket');
toggle(windowname);
}
#blanket {
background-color:#111;
opacity: 0.65;
*background:none;
position:absolute;
z-index: 9001;
top:0px;
left:0px;
width:100%;
}
#popUpDiv {
position:absolute;
background:url(pop-back.jpg) no-repeat;
width:400px;
height:400px;
border:5px solid #000;
z-index: 9002;
}
#popUpDiv { a position:relative; top:20px; left:20px}