popup center div
<html>
<head>
<title>div 100% height</title>
<style>
html, body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
#t {
position: absolute;
left: 5%;
top: 5%;
border: 1px solid #777;
height: 90%;
width: 90%;
}
</style>
<script>
var isIE;
function showList(txt){
//for non-IE browser
var fixX=0;
var fixY=0;
if(isIE){
fixX=0;
fixY=0;
}
var e=document.getElementById("divList");
var x=txt.offsetLeft;
var y=txt.offsetTop;
var w=txt.offsetWidth;
var h=txt.offsetHeight;
e.style.display="block";
//it's adjust prefect for chrome, it should adjust again if for FireFox or IE
e.style.left=2+"px";
e.style.top=-2+"px";
e.style.width=w-2+"px";
e.style.height=100+"px";
}
function popupDiv(e){
e.style.display="block";
e.style.left="50%";
e.style.top="50%";
e.style.marginLeft=-e.offsetWidth/2+"px";
e.style.marginTop=-e.offsetHeight/2+"px";
}
function selectItem(e){
var txt=e.innerHTML;
var e=document.getElementById("txt");
e.value=txt;
document.getElementById("divList").style.display="none";
}
window.onload=function(){
document.getElementById('lblBrowser').innerHTML=navigator.appName+", "+navigator.appVersion;
var str=navigator.appName;
var reg=/internet\ explorer/i;
if(reg.test(str))
isIE=true;
}
</script>
</head>
<body>
<div id="t">
100% height div<br />
browser: <label id="lblBrowser"></label><br />
<input type="button" value="popup center div" onclick="popupDiv(document.getElementById('divCenter'))" />
</div>
<div id="divCenter" style="position: absolute; display: none; width: 300px; height: 200px; border: 1px solid blanchedalmond;">
<!-- <div> for the bug about IE marginLeft -50% --->
Hi, where are you travel this year?<br />
<input type="text" id="txt" name="txt" onclick="showList(this)" /><br />
<div id="divList" style="display: none; border: 1px solid #777; position: relative;">
<ul>
<li onclick="selectItem(this)">SINGAPORE</li>
<li onclick="selectItem(this)">MALAYSIA</li>
<li onclick="selectItem(this)">INDONISIA</li>
</ul>
</div>
<input type="button" value="close" onclick="document.getElementById('divCenter').style.display='none';" />
<!--</div>--->
</div>
</body>
</html>
it's respond incorrect in IE, the input text will go away into left, I believe it's the bug of IE, cause by margin left,
so the solution is add a div as container for it. try to remove the annotation. now it compatible in IE, FF, Chrome.
final code:
<html>
<head>
<title>div 100% height</title>
<style>
html, body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
#t {
position: absolute;
left: 5%;
top: 5%;
border: 1px solid #777;
height: 90%;
width: 90%;
}
</style>
<script>
var isIE;
function showList(txt){
//for non-IE browser
var fixX=0;
var fixY=0;
var fixW=0;
if(isIE){
fixX=-2;
fixY=0;
fixW=2;
}
var e=document.getElementById("divList");
var x=txt.offsetLeft;
var y=txt.offsetTop;
var w=txt.offsetWidth;
var h=txt.offsetHeight;
e.style.display="block";
//it's adjust prefect for chrome, it should adjust again if for FireFox or IE
e.style.left=2+fixX+"px";
e.style.top=-2+fixY+"px";
e.style.width=w-2+fixW+"px";
e.style.height=100+"px";
}
function popupDiv(e){
e.style.display="block";
e.style.left="50%";
e.style.top="50%";
e.style.marginLeft=-e.offsetWidth/2+"px";
e.style.marginTop=-e.offsetHeight/2+"px";
}
function selectItem(e){
var txt=e.innerHTML;
var e=document.getElementById("txt");
e.value=txt;
document.getElementById("divList").style.display="none";
}
window.onload=function(){
document.getElementById('lblBrowser').innerHTML=navigator.appName+", "+navigator.appVersion;
var str=navigator.appName;
var reg=/internet\ explorer/i;
if(reg.test(str))
isIE=true;
}
</script>
</head>
<body>
<div id="t">
100% height div<br />
browser: <label id="lblBrowser"></label><br />
<input type="button" value="popup center div" onclick="popupDiv(document.getElementById('divCenter'))" />
</div>
<div id="divCenter" style="position: absolute; display: none; width: 300px; height: 200px; border: 1px solid blanchedalmond;">
<div>
Hi, where are you travel this year?<br />
<input type="text" id="txt" name="txt" onclick="showList(this)" /><br />
<div id="divList" style="display: none; border: 1px solid #777; position: relative;">
<ul>
<li onclick="selectItem(this)">SINGAPORE</li>
<li onclick="selectItem(this)">MALAYSIA</li>
<li onclick="selectItem(this)">INDONISIA</li>
</ul>
</div>
<input type="button" value="close" onclick="document.getElementById('divCenter').style.display='none';" />
</div>
</div>
</body>
</html>
the result as below:
chrome1
chrome2
IE1
IE2
- 大小: 58.7 KB
- 大小: 67.2 KB
- 大小: 89.9 KB
- 大小: 69.5 KB
分享到:
相关推荐
<div id="popup" style="display:none;">默认内容</div> ``` 在这个简单的例子中,点击按钮就会触发弹窗显示。`popup.js`库会处理显示和隐藏逻辑,你只需要传入弹窗的文本内容即可。 `popup.js`可能还提供了...
一个简单的弹出层可以由一个`<div>`元素来表示,我们可以给它一个类名,例如`popup`,以便在CSS中引用。同时,弹出层内容通常包含在一个内联元素(如`<span>`或`<p>`)中。下面是一个基本的HTML示例: ```html <div...
<div id="popup" style="display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);">弹出窗口内容</div> ``` ```javascript document.getElementById('openButton')....
首先,让我们理解`div`元素的基础。`div`是HTML中的一个块级元素,它主要用于组织页面内容。通过CSS样式,我们可以让`div`元素执行各种任务,如创建弹出窗口或覆盖层以实现锁屏效果。 在"悬浮窗"的实现中,通常会...
<div id="popup" class="popup"> <div class="popup-content"> 这里是弹出的内容 关闭 </div> </div> <script src="scripts.js"></script> ``` 接下来是CSS部分,我们需要定义遮罩层和弹出内容的样式,...
<div class="popup" id="popup"> <!-- 弹出层内容 --> ()">关闭 </div> ``` 综上所述,"DIV始终居中的半透明弹出层"的实现涉及到HTML的`DIV`元素、CSS的布局技巧(包括`margin: auto`、`flexbox`或`grid`)、...
align-items: center; padding-top: 200px; } .popup { mask-color: gray; } .text { color: white; } .button { width: 220px; height: 70px; margin-top: 50px; } ``` **JS 文件 (xxx.js):** ```...
因为这些特征,Popup窗口制作的菜单比起传统的div(层)实现的菜单有着得天独厚的优势,不仅效果会非常好,而且代码也会是非常少的,只是对于实现起来却有几个需要解决的棘手问题:多个Popup共存的问题、如何递归生成...
<div id="popup-mask" class="popup-mask"></div> <div id="popup-container" class="popup-container"> <div class="popup-content"> 提示信息 这里是提示内容... <button id="popup-ok">确定 <button id="...
<div id="popup">提示层内容</div> $(document).ready(function() { $('#show_popup').click(function() { $('#mask, #popup').fadeIn(300); // 弹出提示层和遮罩层 }); $('#close_popup').click(function() {...
<div id="popup"> 弹窗标题 这里是弹窗内容 关闭 </div> ``` 在`test.css`文件中,我们可以定义`#mask`和`#popup`的样式,确保遮罩层覆盖整个页面,而弹出窗口居中显示: ```css body, html { height: 100...
<div class="popup-header">消息提示</div> <div class="popup-content"></div> <button id="popup-close">关闭 </div> ``` 接下来,我们用CSS来定义弹窗的样式,使其位于页面右下角,并具有适当的动画效果。...
<div id="popup_content"> 提示信息 最小化 关闭 </div> </div> <script src="16sucai.js"></script> ``` 接下来,`16sucai_style.css` 文件用于定义样式。我们可以设置提示窗口的位置、大小和样式,使其...
<div class="popup-content"></div> </div> ``` 然后在CSS中添加Flex样式: ```css .popup-container { display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0;...
<div id="popup" style="display:none;"> <div class="popup-content"> <!-- 弹窗内容 --> 关闭 </div> </div> ``` ### 三、CSS样式 `tang.css`文件中,我们可以为弹窗添加样式,以控制其外观和位置。例如: ...
<div class="popup-header">标题</div> <div class="popup-content"></div> 关闭 </div> ``` ### 4. 插件功能实现 在jQuery插件中,我们可以使用`this`关键字来引用被选中的元素。例如,如果插件应用于一个按钮...
<div id="popup" style="display: none;"> <div id="popup-content"> <!-- 在这里添加弹出框的内容 --> <a href="#" id="close-popup">关闭 </div> </div> ``` ### 3. 使用 CSS 进行样式设置 接下来,我们可以...
<div id="popup" style="display: none;"> <!-- 弹出层内容 --> </div> ``` 最后,使用jQuery插件的API来控制弹出层的显示和隐藏。以下是一些常见的调用方法: ```javascript // 初始化弹出层 $(document).ready...
<div id="popup"> <div class="content"> 这里是浮动层的内容 关闭 </div> </div> ``` 然后用CSS设置样式: ```css #popup { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); ...
var popup = document.createElement('div'); popup.className = 'custom-popup'; popup.innerHTML = content; document.body.appendChild(popup); // 定位到点击位置 popup.style.left = e.lnglat.getLng()...