最近了解到两种js弹出框,现分享如下:
1.function sAlert(str){
var msgw,msgh,bordercolor;
msgw=300;//提示窗口的宽度
msgh=100;//提示窗口的高度
titleheight=25 //提示窗口标题高度
bordercolor="#006000";//提示窗口的边框颜色
titlecolor="#006000";//提示窗口的标题颜色
var sWidth,sHeight;
sWidth=screen.width;
sHeight=screen.height;
var bgObj=document.createElement("div");
bgObj.setAttribute('id','bgDiv');
bgObj.style.position="absolute";
bgObj.style.top="0";
bgObj.style.background="#cccccc";
bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
bgObj.style.opacity="0.6";
bgObj.style.left="0";
bgObj.style.width=sWidth + "px";
bgObj.style.height=sHeight + "px";
bgObj.style.zIndex = "10000";
document.body.appendChild(bgObj);
var msgObj=document.createElement("div")
msgObj.setAttribute("id","msgDiv");
msgObj.setAttribute("align","center");
msgObj.style.background="white";
msgObj.style.border="1px solid " + bordercolor;
msgObj.style.position = "absolute";
msgObj.style.left = "50%";
msgObj.style.top = "50%";
msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
msgObj.style.marginLeft = "-225px" ;
msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
msgObj.style.width = msgw + "px";
msgObj.style.height =msgh + "px";
msgObj.style.textAlign = "center";
msgObj.style.lineHeight ="25px";
msgObj.style.zIndex = "10001";
var title=document.createElement("h4");
title.setAttribute("id","msgTitle");
title.setAttribute("align","right");
title.style.margin="0";
title.style.padding="3px";
title.style.background=bordercolor;
title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
title.style.opacity="0.75";
title.style.border="1px solid " + bordercolor;
title.style.height="18px";
title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
title.style.color="white";
title.style.cursor="pointer";
title.innerHTML="关闭";
title.onclick=function(){
document.body.removeChild(bgObj);
document.getElementById("msgDiv").removeChild(title);
document.body.removeChild(msgObj);
}
document.body.appendChild(msgObj);
document.getElementById("msgDiv").appendChild(title);
var txt=document.createElement("p");
txt.style.margin="1em 0"
txt.setAttribute("id","msgTxt");
txt.innerHTML=str;
document.getElementById("msgDiv").appendChild(txt);
}
2.<style type="text/css">
#alertMsg {
display: none;
width: 400px;
border: 1px solid #ddd;
border-radius: 5px;
box-shadow: 1px 1px 10px black;
padding: 10px;
font-size: 12px;
position: absolute;
text-align: center;
background: #fff;
z-index: 100000;
}
#alertMsg_info {
padding: 2px 15px;
line-height: 1.6em;
text-align: left;
}
#alertMsg_btn1, #alertMsg_btn2 {
display: inline-block;
background: url(images/gray_btn.png) no-repeat left top;
padding-left: 3px;
color: #000000;
font-size: 12px;
text-decoration: none;
margin-right: 10px;
cursor: pointer;
}
#alertMsg_btn1 cite, #alertMsg_btn2 cite {
line-height: 24px;
display: inline-block;
padding: 0 13px 0 10px;
background: url(images/gray_btn.png) no-repeat right top;
font-style: normal;
}
</style>
function alertMsg(msg, mode) { //mode为空,即只有一个确认按钮,mode为1时有确认和取消两个按钮
msg = msg || '';
mode = mode || 0;
var top = document.body.scrollTop || document.documentElement.scrollTop;
var isIe = (document.all) ? true : false;
var isIE6 = isIe && !window.XMLHttpRequest;
var sTop = document.documentElement.scrollTop || document.body.scrollTop;
var sLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
var winSize = function(){
var xScroll, yScroll, windowWidth, windowHeight, pageWidth, pageHeight;
// innerHeight获取的是可视窗口的高度,IE不支持此属性
if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
if (self.innerHeight) { // all except Explorer
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the viewport
if (yScroll < windowHeight) {
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
// for small pages with total width less then width of the viewport
if (xScroll < windowWidth) {
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
return{
'pageWidth':pageWidth,
'pageHeight':pageHeight,
'windowWidth':windowWidth,
'windowHeight':windowHeight
}
}();
//alert(winSize.pageWidth);
//遮罩层
var styleStr = 'top:0;left:0;position:absolute;z-index:10000;background:#666;width:' + winSize.pageWidth + 'px;height:' + (winSize.pageHeight + 30) + 'px;';
styleStr += (isIe) ? "filter:alpha(opacity=80);" : "opacity:0.8;"; //遮罩层DIV
var shadowDiv = document.createElement('div'); //添加阴影DIV
shadowDiv.style.cssText = styleStr; //添加样式
shadowDiv.id = "shadowDiv";
//如果是IE6则创建IFRAME遮罩SELECT
if (isIE6) {
var maskIframe = document.createElement('iframe');
maskIframe.style.cssText = 'width:' + winSize.pageWidth + 'px;height:' + (winSize.pageHeight + 30) + 'px;position:absolute;visibility:inherit;z-index:-1;filter:alpha(opacity=0);';
maskIframe.frameborder = 0;
maskIframe.src = "about:blank";
shadowDiv.appendChild(maskIframe);
}
document.body.insertBefore(shadowDiv, document.body.firstChild); //遮罩层加入文档
//弹出框
var styleStr1 = 'display:block;position:fixed;_position:absolute;left:' + (winSize.windowWidth / 2 - 200) + 'px;top:' + (winSize.windowHeight / 2 - 150) + 'px;_top:' + (winSize.windowHeight / 2 + top - 150)+ 'px;'; //弹出框的位置
var alertBox = document.createElement('div');
alertBox.id = 'alertMsg';
alertBox.style.cssText = styleStr1;
//创建弹出框里面的内容P标签
var alertMsg_info = document.createElement('P');
alertMsg_info.id = 'alertMsg_info';
alertMsg_info.innerHTML = msg;
alertBox.appendChild(alertMsg_info);
//创建按钮
var btn1 = document.createElement('a');
btn1.id = 'alertMsg_btn1';
btn1.href = 'javas' + 'cript:void(0)';
btn1.innerHTML = '<cite>确定</cite>';
btn1.onclick = function () {
document.body.removeChild(alertBox);
document.body.removeChild(shadowDiv);
return true;
};
alertBox.appendChild(btn1);
if (mode === 1) {
var btn2 = document.createElement('a');
btn2.id = 'alertMsg_btn2';
btn2.href = 'javas' + 'cript:void(0)';
btn2.innerHTML = '<cite>取消</cite>';
btn2.onclick = function () {
document.body.removeChild(alertBox);
document.body.removeChild(shadowDiv);
return false;
};
alertBox.appendChild(btn2);
}
document.body.appendChild(alertBox);
}
alertMsg('hello/world!',1);
分享到:
相关推荐
1. **原生JavaScript弹出框**:JavaScript提供了三种内置的弹出框:`alert()`、`prompt()`和`confirm()`。这些方法会阻塞页面的执行,直到用户与其交互完毕。 - `alert()`:显示警告消息,用户只能点击"确定"关闭...
### JS弹出框几种形式详解 在Web开发中,JavaScript(JS)的弹出框是与...通过以上分析,我们可以看到JavaScript弹出框在Web开发中的广泛应用,以及在不同框架下如何灵活地使用这些弹出框来增强用户体验和功能实现。
JavaScript弹出框架是一种常见的网页交互技术,用于在用户与页面交互时显示额外信息或功能,如警告、确认对话框、模态窗口等。在这种框架中,`lhgdialog` 是一个具体的实现,它是一个轻量级且功能丰富的弹出对话框...
2.width height弹出框的长宽 默认500 300 3.scrolling弹出框是否有滚动条 可选值 auto no yes 默认auto 4.titleColor 弹出框title背景颜色 默认#7093DB 5.title 弹出框名称 6.弹出框url 7.弹出框是否可拖动 true or ...
在网页开发中,自定义JavaScript弹出框组件是不可或缺的一部分,它允许开发者创建具有高度定制化功能的对话框,以满足各种用户交互需求。本文将深入探讨如何利用JavaScript实现这样的组件,包括其基本原理、设计思路...
JavaScript弹出框插件,如描述中的"artDialog-5.0.3",是Web开发中常用的交互元素,主要用于显示提示、警告、确认或提供更复杂的信息展示。这类插件通常具有高度自定义和可扩展性,可以极大提升用户界面的交互性和...
"漂亮的js弹出框"是一个关于利用JavaScript实现美观弹出框的资源,它提供了两种不同的展示方式:显示图片和嵌入网页内容。这个功能在网页设计中十分常见,例如用于提示信息、展示详细内容或进行用户确认操作。 首先...
当我们谈论“超级漂亮的js弹出框效果”时,我们通常是指利用JavaScript实现的对话框或者提示框,这些弹出框不仅具备基本功能,还通过美观的设计提升了用户体验。在本文中,我们将深入探讨如何使用JavaScript创建具有...
总结来说,JavaScript弹出框是网页交互中的关键元素。通过了解和运用`alert()`, `prompt()`, `confirm()`,以及自定义弹出框的方法,开发者可以创建既实用又美观的用户体验。在实际项目中,结合HTML和CSS,我们可以...
个人学习js弹出框的一些例子,含有alert,prompt,confirm, showModalDialog,showModelessDialog,很全也很简单,包学包会,例子全部都有,并且简单明了!
本资源提供了两个风格独特的JavaScript弹出框,适用于不同的界面设计需求。这两个弹出框可能分别采用了纯JavaScript实现或者结合了jQuery库,因为标签中提到了"jQuery js",暗示了可能的实现方式。 首先,我们要...
"js弹出框弹出层"是指使用JavaScript实现的一种非模态或者模态的对话框,它可以在页面上创建一个独立的窗口,用来显示内容、进行交互。在本例中,我们关注的是ThickBox,这是一个流行的JavaScript库,专门用于创建...
在这个"js弹出框-弹出层-拖拽-兼容"的插件中,开发者通过纯JavaScript实现了弹出层的创建、拖拽功能的添加,并优化了代码以适应多种浏览器环境。这个插件的价值在于它不需要依赖jQuery或其他大型库,降低了页面加载...
在开发过程中,图片和JavaScript弹出框是两个非常常见的元素,它们在构建用户界面和提供交互体验时起着至关重要的作用。这篇博文“开发中经常用的图片和JS弹出框”可能探讨了如何有效地利用这些技术来提高网站或应用...
综上所述,"js弹出框选择器"涵盖了JavaScript基础、DOM操作、事件处理、CSS样式、数据结构、逻辑控制、模态对话框、异步编程、响应式设计以及无障碍性等多个方面,是一个综合性的前端开发任务。熟悉并掌握这些知识点...
"JS动态弹出框,动态效果,lightbox2.3"是一个专为实现这种效果的JS库,它提供了美观且具有动态效果的弹出框解决方案。 Lightbox2.3 是这个库的版本号,它是一款轻量级、易于使用的插件,旨在为用户提供优雅的图片...
BaiduPop 弹出框 JS弹出框,方便实用
- JavaScript文件(如`showConfirmBox.js`):实现弹出框的逻辑和API接口。 - 示例HTML文件(如`index.html`):展示如何在实际项目中引入和使用该插件。 - 图片或其他资源文件:用于弹出框中的图标或背景等。 通过...