<script type="text/javascript">
var filename = "PICC_V2.1.3.0_新增功能操作手册.doc";
window.onload = function(){
var dialog1;
dialog1 = new Dialog({width:310,height:250,title:"重要通知"});//background:pink;
dialog1.content.innerHTML ="<table ><tr style='margin-top: 5' style='height:4' >"+
"<td style='font-size:14px;'>通知:系统已于2014年04月16号升级到V2.1.3.0版本,相关新增功能手册如下:</td></tr><tr></tr><tr></tr>"+
"<tr><td><a href='#' style='font-size:13px;' onclick='setWinSize()'>1."+filename+"</a></td></tr></table>";
}
function setWinSize() {
window.location = "<%=request.getContextPath()%>/"+"filedown.do?filename="+filename;
}
</script>

需要引入以下js文件

  var Dialog = function(){
var options = arguments[0] || {};
this.title = options.title || "我只打",
this.width = options.width || 350,
this.height = options.height || 250,
this.container = document.createElement("div"),
this.id = "id" + Math.abs(new Date() * Math.random()).toFixed(0);
this.init();
}
Dialog.prototype = {
constructor: Dialog,
init: function() {
var me = this,container = me.container,width = me.width, height = me.height,
id = me.id,builder = [],t = "getElementsByTagName",
bg = function(pic){
var bgcolor = arguments[1] || 'transparent',
left = arguments[2] || 'left',
s = 'background:'+bgcolor + ' url(http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/'
+ pic + ') no-repeat '+left+' center;';
return s;
};
if(typeof Dialog.z === "undefined"){
Dialog.zIndex = 999;
}
document.body.insertBefore(container,null);
container.id = id;
container.className = "popups";
builder.push('<div class="caption" >'+me.title+'</div>');
builder.push('<form><div class="replaceable"></div>');
builder.push('<div class="submitable">');
builder.push('<a class="negative" href="javascript:void(0)">取消</a>');
builder.push('<a class="positive" href="javascript:void(0)">确认</a>');
builder.push('</div></form>');
builder.push('<a class="closebtn" href="javascript:void(0)"></a>');
container.innerHTML = builder.join('');
var size = me.getBrowserWindowSize();
me.left = ((size.width - width)/2) >> 0;
me.top = ((size.height - height)/2) >> 0;
me.ie6 = /msie|MSIE 6/.test(navigator.userAgent); var divs = container[t]("div"),k = divs.length;
while (--k >= 0) {
if(divs[k].className == "replaceable"){
me.content = divs[k]
break;
}
} //设置样式
me.css(".popups","position:absolute;width:"+width+"px;height:"+
height+"px;right:"+14+"px;top:"+4+"px;"+"background:#ccc");//background:#68DFFB
container.style.zIndex = Dialog.zIndex++;
me.css(".popups .caption",'position:absolute;top:10px;left:10px;width:'+(width-50)+'px;height:20px;'+
'padding-left:30px;font:700 14px/20px "SimSun","Times New Roman";color: #fff;'+
bg("o_icon.gif","#68DFFB","5px"));
me.css(".popups .closebtn",'position:absolute;top:0;right:10px;display:block;width:28px; '+
'height:17px;text-decoration:none;'+ bg("o_dialog_closebtn.gif"));
me.css(".popups a.closebtn:hover",bg("o_dialog_closebtn_over.gif"));
me.css(".popups form","position:absolute;top:30px;left:10px;border:3px solid #68DFFB;width:"+(width-26)+"px;height:"+(height-51)+"px;background:#fff;");
me.css(".popups .submitable","position:absolute;bottom:0;border-top:1px solid #c0c0c0;width:100%;height:40px;background:#fff;");
var buttoncss = 'display:block;float:right;margin: 0.7em 0.5em;padding:2px 7px;border:1px solid #dedede;'
+ 'background:#f5f5f5;color:#a9ea00;font:700 12px/130% "SimSun","Times New Roman";text-decoration:none;';
me.css("a.positive",buttoncss);//IE6有bug,不能动态创建联合选择器
me.css("a.negative",buttoncss);
me.css("a.negative","color:#ff5e00;");
me.css("a.positive:hover","border:1px solid #E6EFC2;background:#E6EFC2;color:#529214;");
me.css("a.negative:hover","border:1px solid #fbe3e4;background:#fbe3e4;color:#d12f19;");
me.css("a.positive:active","border:1px solid #529214;background:#529214;color:#fff;");
me.css("a.negative:active","border:1px solid #d12f19;background:#d12f19;color:#fff;");
me.css("a","outline: 0;");
//按钮的圆角
var ff = /a/[-1]=='a';
if(ff){
me.css("a.positive","-moz-border-radius:4px;");
me.css("a.negative","-moz-border-radius:4px;");
}else{
me.css("a.positive","-webkit-border-radius:4px;");
me.css("a.negative","-webkit-border-radius:4px;");
}
//***************************
if (!+"\v1" ){
if(!document.namespaces.vml){
document.namespaces.add('vml', 'urn:schemas-microsoft-com:vml');
var vmlobj = document.createElement("<object classid=CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E id=VMLRender>"),
head = document.getElementsByTagName("head")[0];
head.appendChild(vmlobj);
document.createStyleSheet().addRule(".vml", "behavior: url(#VMLRender); display:inline-block;");
}
var rect = document.createElement('<vml:roundrect class="vml">');
container.insertBefore(rect,container.firstChild);
rect.style.cssText = "position:absolute;top:0px;left:0px;width:"+width+"px;height:"+height+"px;";
me.attr(rect,{arcsize:5 /Math.min(width, height),stroked:"f"});
rect.innerHTML = '<vml:fill class="vml" opacity="0.8" color="#68DFFB" />' +
'<vml:shadow class="vml" on="t" color="#333" opacity="0.2" offset="10px,10px" />'
}else{
var svg = me.createSVG("svg");
container.insertBefore(svg,container.firstChild);
me.attr(svg,{width:me.width+10+"px",height:me.height+10+"px"}); var defs = me.createSVG("defs");
svg.appendChild(defs); var filter = me.createSVG("filter");
defs.appendChild(filter);
me.attr(filter,{id:"filter"+id}); var feGaussianBlur = me.createSVG("feGaussianBlur");
filter.appendChild(feGaussianBlur)
me.attr(feGaussianBlur,{"in":"SourceAlpha",result:"blur-out",stdDeviation:1.5}); var feOffset = me.createSVG("feOffset");
filter.appendChild(feOffset)
me.attr(feOffset,{"in":"blur-out",result:"the-shadow",dx:0,dy:2}); var feBlend = me.createSVG("feBlend");
filter.appendChild(feBlend)
me.attr(feBlend,{"in":"SourceGraphic","in2":"the-shadow",mode:"normal"}); var shadow = me.createSVG("rect");
svg.appendChild(shadow);
me.attr(shadow,{x:"10px",y:"10px",width:me.width+"px",height:me.height+"px",rx:10,
fill:"#333",style:"opacity:0.2",filter:"url(#filter"+id+")"}); var rect = me.createSVG("rect");
svg.appendChild(rect);
me.attr(rect,{width:me.width+"px",height:me.height+"px",rx:5,fill:"#68DFFB",style:"opacity:0.8"});
}
//***************************IE6 弹出窗口中遮不住select******************************
if(me.ie6){
me.iframe = document.createElement("<iframe style='position:absolute;left:"+
me.left+"px;top:"+me.top+"px;width:"+(me.width+10)+"px;height:"+
(me.height+10)+"px;z-index:"+(Dialog.zIndex-2)+";filter:mask();display:none;' ></iframe>");
container.insertAdjacentElement('beforeBegin',me.iframe);
} //*****************************监听点击**************************
container.onclick = function(){
var ee = me.getEvent(), node = ee[1],tag = ee[2];
if(tag == "a" ){
switch(node.className){
case "closebtn" :
me.hide();
break;
case "positive" :
me.hide();
//form.submit();
break;
case "negative" :
break;
}
}
}
container.onmousedown = function(e){
e = e || window.event;
container.offset_x = e.clientX - container.offsetLeft;
container.offset_y = e.clientY - container.offsetTop;
document.onmousemove = function(e){
me.drag(e,me)
}
document.onmouseup = function(){
me.dragend(container)
}
}
},
drag:function(e,me){
e = e || window.event;//获得事件对象
var el = me.container;
var l = e.clientX - el.offset_x + "px",
t = e.clientY - el.offset_y + "px";
with(el.style){
left=l;
top=t;
cursor="move"
}
if(me.ie6){
with(me.iframe.style){
left=l;
top=t;
}
}
!+"\v1"? document.selection.empty() : window.getSelection().removeAllRanges();
},
dragend:function(el){
el.style.cursor = "";
document.onmouseup = document.onmousemove = null;
},
hide : function(){
this.container.style.display = "none" ;
if(this.ie6){
this.iframe.style.display = "none";
}
this.mode(0,0);
//下面两行目的是生成 html,body{width:auto;height:auto;overflow:auto;}
this.incss(document.body, {width:"auto",height:"auto",overflow:"auto"});
this.incss(document.documentElement, {width:"auto",height:"auto",overflow:"auto"});
},
show : function(){
this.container.style.display = "block" ;
if(this.ie6){
this.iframe.style.display = "block";
}
var size = this.getBrowserWindowSize();
this.mode(size.width, size.height);
}, getBrowserWindowSize :function(){
var de = document.documentElement;
return {
width: (de.clientWidth || document.body.clientWidth),
height:(de.clientHeight || document.body.clientHeight)
}
},
createSVG : function(tag){
return document.createElementNS("http://www.w3.org/2000/svg",tag);
},
attr: function(node,bag){
for(var i in bag){
if(bag.hasOwnProperty(i))
node.setAttribute(i,bag[i])
}
},
getEvent : function(e) {
e = e || window.event;
if (!e) {
var c = this.getEvent.caller;
while (c) {
e = c.arguments[0];
if (e && (Event == e.constructor || MouseEvent == e.constructor)) {
break;
}
c = c.caller;
}
}
var target = e.srcElement ? e.srcElement : e.target,
currentN = target.nodeName.toLowerCase(),
parentN = target.parentNode.nodeName.toLowerCase(),
grandN = target.parentNode.parentNode.nodeName.toLowerCase();
return [e,target,currentN,parentN,grandN];
},
mode:function(w,h){
var mask = Dialog.mask,me = this;
this.incss(document.body, {width:"100%",height:"100%",overflow:"hidden"});
this.incss(document.documentElement, {width:"100%",height:"100%",overflow:"hidden"});
this.incss(mask,{position:"absolute",background:"#fff",top:0,left:0,
width:w +"px",height:h +"px","-moz-user-select":"none"});
!+"\v1"? (mask.style.filter = "alpha(opacity=0)") : (mask.style.opacity = "0");
mask.onselectstart = function(e){
me.stopEvent(e);
}
mask.oncontextmenu = function(e){
me.stopEvent(e);
}
},
stopEvent:function(e){
e = e || window.event;
if(e.preventDefault) {
e.preventDefault();
e.stopPropagation();
}else{
e.returnValue = false;
e.cancelBubble = true;
}
},
incss:function(node,bag){
var str = ";"
for(var i in bag){
if(bag.hasOwnProperty(i))
str += i+":"+bag[i]+";"
}
node.style.cssText = str;
},
css:function(selector,declaration){
if(typeof document.createStyleSheet === 'undefined') {
document.createStyleSheet = (function() {
function createStyleSheet() {
var element = document.createElement('style');
element.type = 'text/css';
document.getElementsByTagName('head')[0].appendChild(element);
var sheet = document.styleSheets[document.styleSheets.length - 1];
if(typeof sheet.addRule === 'undefined')
sheet.addRule = function(selectorText, cssText, index) {
if(typeof index === 'undefined')
index = this.cssRules.length;
this.insertRule(selectorText + ' {' + cssText + '}', index);
};
return sheet;
}
return createStyleSheet;
})();
}
if(!!Dialog.sheet){
if(!Dialog.memory.exists(selector,declaration)){
Dialog.memory.set(selector,declaration);
Dialog.sheet.addRule(selector,declaration);
}
}else{
Dialog.sheet = document.createStyleSheet();
var memory = function(){
var keys = [],values = [],size = 0;
return {
get : function(k){
var results = [];
for(var i=0,l=keys.length;i<l;i++){
if(keys[i] == k){
results.push(values[i])
}
}
return results;
},
exists:function(k,v){
var vs = this.get(k);
for(var i=0,l=vs.length;i<l;i++){
if(vs[i] == v)
return true;
}
return false;
},
set : function(k,v){
keys.push(k);
values.push(v);
size++;
},
length :function(){
return size;
}
}
}
Dialog.memory = memory();
Dialog.memory.set(selector,declaration);
Dialog.sheet.addRule(selector,declaration);
Dialog.mask = document.createElement("div");
document.body.insertBefore(Dialog.mask,this.container);
}
}
}

漂亮提醒框js的更多相关文章

  1. iOS自学-监听按钮点击、提醒框

    //事件监听的问题 CGRect btn2Frame = CGRectMake(100.0, 150.0, 60.0, 44.0); //两种不同的方式创建 UIButton *btn2 = [UIB ...

  2. RovingUI组件库-包含堆栈式通知提醒框(Toast)的小程序组件库

    RovingUI是个人在开发小程序过程中将用到的组件集合而成的一个UI库,包含一些基本通用组件(按钮.栅格.通用样式.徽标.通知和面包屑). 源起得归于我在开发中没有找到现成的堆栈式提醒框(比如ant ...

  3. 巧妙使用 CSS3 的褪色和动画效果制作消息提醒框

    现代Web设计技术允许开发者快速实现大多数浏览器支持的动画.我想警告消息是很常见的,因为默认的JavaScript警告框的样式往往(与你自己设计的漂亮样式)很不协调很囧.这使开发者步入找出哪种解决方案 ...

  4. js搜索框 js仿百度搜索 js下拉框 jQuery.Autocomplete使用

    做了一个网站,需要根据文本框的输入模糊搜索数据库内容给出提示供用户选择,就找到了jQuery.Autocomplete 效果如下图: 该插件托管在github上,具体地址:https://github ...

  5. 常用UI模板,loading框,提醒框,弹框确认框

    css部分 #public_box{width:100%;height:100%;position:fixed;top:0;left:0;z-index:100;background:rgba(0,0 ...

  6. JS学习笔记(模态框JS传参)

    博主最近基于django框架的平台第一版差不多完成了 今天整理下开发过程中遇到的前端知识 基于前端bootstrap框架模态框传参问题 上前端html代码: <div class="m ...

  7. 左右选择框 js插件

    随着项目的进展,测试工程师在更多的浏览器中兼容性测试中,发现有些浏览器不支持option的触发事件,这就造成了先前一篇博文bootstrap 左右框多项选择示例 中左右选择框的失效,于是我就由原先的s ...

  8. LayUI中实现上级下拉框动态加载下级下拉框js

    js代码: var form = layui.form, layer = layui.layer; form.on("select(上级)", function(data){ va ...

  9. 很漂亮的SweetAlert.js 弹出层

    在线实例 实例演示 使用方法 swal("Here's a message!") 复制 参数详解 参数 默认值 描述 title null(required) 窗口的名称.可以通过 ...

随机推荐

  1. Ubuntu截图工具gnome-screenshot使用教程

    Ubuntu自带的截图工具非常好用,可以自已设置各种截图的快捷键,下面我们一起来了解一下这个截图工具gnome-screenshot   Ubuntu自带的截图工具非常好用,可以自已设置各种截图的快捷 ...

  2. CentOS 7 更新软件源和系统

    [1] 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cent ...

  3. php和c++socket通讯(基于字节流,二进制)

    研究了一下PHP和C++socket通讯,用C++作为服务器端,php作为客户端进行. socket通讯是基于协议的,因此,只要双方协议一致就行. 关于协议的选择:我看过网上大部分协议都是在应用层的协 ...

  4. DedeCms中Channel用typeid无效

    DedeCms中channel 用typeid调用无法达目的吗?请换成type试试! {dede:channel type='son' typeid='19' row='1'} <a href= ...

  5. macOS 使用软件(外加装逼特效)

    macOS 使用软件(外加装逼特效) Backgroud 和 火萤: 动态桌面壁纸 iTools Pro: macOS 版本的爱思助手 MEGAsync: 网盘工具 Microsoft Remote ...

  6. 解决 maven 项目中加入了 lombok 库后依然报错的问题

    平时我们采用 maven 引入第三方库,可以方便的管理第三方 jar 包,然加入 lombok 后启动 eclipse 依然报错,这是由于 lombok 是通过反射在运行时自动生成 getter(). ...

  7. css3骰子(transform初识)

    利用css3制作可旋转的骰子,效果图如下,也可以查看 demo: 首先是骰子的html结构,.page 是骰子的六个页面的 class,#one-#six分别表示六个面,.point 是骰子表面的点数 ...

  8. Stuts2的 "struts.devMode" 设置成true后,不起作用,仍需要重启tomcat

    不要用 <constant name="struts.devMode" value="true" />改成: <constant name=& ...

  9. JDBC中重要的类/接口-Connection、DriverManager、ResultSet、Statement及常用方法

    DriverManager(管理一组 JDBC 驱动程序的基本服务) 它的方法: getConnection(String url, String user, String password) 试图建 ...

  10. 仿照everything写的一个超级速查 原创

    http://files.cnblogs.com/files/jacd/%E8%B6%85%E9%80%9F%E6%9F%A5%E6%96%87%E4%BB%B6.zip 速度奇快无比,体积奇小无比, ...