Js + Css的msn式的popup提示窗口的实现

css|js

Msn的提示窗口非常经典,所以我们也做一个javascript实现一下,给大家逗乐用。
 
闲话不多说,Javascript代码如下:

只有javascript代码还是不够的,我们还需要css来定义样式:

DIV#eMsg{}{
    background-color: #c9d3f3;
    border-left: #a6b4cf 1px solid;
    border-right: #455690 1px solid;
    border-top: #a6b4cf 1px solid;
    border-bottom: #455690 1px solid;
    visibility: hidden;
    width: 199px;
    height: 97px;
    position: absolute;
    z-index: 99999;
    left: 0px;
}
DIV#eMsg DIV.eMsgInner
{}{
    border-top: #ffffff 1px solid;
    border-left: #ffffff 1px solid;
    background-color:#cfdef4;
    height:96px;
    width:198px;
}
DIV#eMsgInner DIV.head{}{width:197px}
DIV.headLeft{}{width:30px;float:left;}
DIV.headMiddle{}{
    width:150px;
    text-align:center;
    float:left;
    padding-top:2px;
    color:green;
    font-weight:bold
}
DIV.headRight{}{width:16;float:left;}
DIV.headRight IMG{}{
    width:13px;
    height:13px;
    border:0px;
    cursor:hand;
    margin:2px;
}
DIV.body{}{
    height:82px;
    clear:both;
    border-right: #b9c9ef 1px solid;
    padding: 13px; 
    padding-top: 1px;
    border-top: #728eb8 1px solid;
    border-left: #728eb8 1px solid;
    color: #1f336b;
    word-break: break-all;
    border-bottom: #b9c9ef 1px solid;
}
DIV.light{}{text-align:center;padding:5px 20px}
DIV.content{}{text-align:center;height:65px;padding-top:10px}

以上是所有的实现代码,我们在使用时还需要做以下两步
1.我们需要在body标签的前面加上加载message的语句
document.write('<sc' + 'ript>' + 'eMsg.createInstance("月牙儿工作室提示","<div align=left>新增加了邮箱登录和地图查询两个模块欢迎您添加使用。</div>");');
document.write('</s')
document.write('cript>');
2.还需要在body的onload事件中添加eMsg.onLoad();
 
这样就大功告成了,大家可以从我的博客中看到效果的。

有兴趣的朋友可以把它封装成.net控件呀。

/**//*eMsg*/
var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,i = 0;
var eMsg = new Object();
eMsg.lightSrc = '../image/message/light.gif';
eMsg.closeSrc = '../image/message/msgclose.gif';
eMsg.id = 'eMsg';
eMsg.obj = function(){return document.getElementById(eMsg.id);};

eMsg.onLoad = function(){
    try{
        divTop = parseInt(eMsg.obj().style.top,10);
        divLeft = parseInt(eMsg.obj().style.left,10);
        divHeight = parseInt(eMsg.obj().offsetHeight,10);
        divWidth = parseInt(eMsg.obj().offsetWidth,10);
        docWidth = document.body.clientWidth;
        docHeight = document.body.clientHeight;
        eMsg.obj().style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;
        eMsg.obj().style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth;
        eMsg.obj().style.visibility="visible";
        eMsg.timer = window.setInterval(eMsg.move,1);
        hp.skin.onBeforChange = function(){
            if(eMsg.obj())eMsg.obj().parentNode.removeChild(eMsg.obj());
        };
    }
    catch(e){}
};
eMsg.onResize = function(){
    i+=1;
    if(i>1000) eMsg.close();
    try{
        divHeight = parseInt(eMsg.obj().offsetHeight,10);
        divWidth = parseInt(eMsg.obj().offsetWidth,10);
        docWidth = document.body.clientWidth;
        docHeight = document.body.clientHeight;
        eMsg.obj().style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10);
        eMsg.obj().style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10);
    }
    catch(e){}
};
eMsg.move = function(){
    try
    {
        if(parseInt(eMsg.obj().style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))
        {
            window.clearInterval(eMsg.timer);
            eMsg.timer = window.setInterval(eMsg.onResize,1);
        }
        divTop = parseInt(eMsg.obj().style.top,10);
        eMsg.obj().style.top = divTop - 1;
    }
    catch(e){}
};
eMsg.close = function(){
    eMsg.obj().parentNode.removeChild(eMsg.obj());
    if(eMsg.timer) window.clearInterval(eMsg.timer);
};
eMsg.createInstance = function(titleHtml,bodyHtml){
    if(!titleHtml || !bodyHtml)throw '必须为titleHtml指定值,必须为bodyHtml指定值。';
    var odiv = document.createElement('DIV');
    odiv.id = eMsg.id;
    odiv.innerHTML = '<div class="eMsgInner">'
    + '<div class="head">'
        + '<div class="headLeft"><img src="space.gif" height="1" width="1"/></div>'
        + '<div class="headMiddle">' + titleHtml + '</div>'
        + '<div class="headRight"><img src="' + eMsg.closeSrc  + '" align="absmiddle"/></div>'
    + '</div>'
    + '<div class="body" oncontextmenu="eMsg.close();return false;" title="右键关闭">'
        + '<div class="light"><IMG src="' + eMsg.lightSrc + '"></div>'
        + '<div class="content">'
        + bodyHtml   
        + '</div>'
    + '</div>'
    + '</div>';
    document.body.appendChild(odiv);
};

window.onresize = eMsg.onResize;

时间: 2024-10-29 15:25:49

Js + Css的msn式的popup提示窗口的实现的相关文章

JS+CSS实现淡入式焦点图片幻灯切换效果的方法

 这篇文章主要介绍了JS+CSS实现淡入式焦点图片幻灯切换效果的方法,实例分析了javascript操作图片.css等元素实现幻灯片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS+CSS实现淡入式焦点图片幻灯切换效果的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

JS+CSS实现淡入式焦点图片幻灯切换效果的方法_javascript技巧

本文实例讲述了JS+CSS实现淡入式焦点图片幻灯切换效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999

JS+CSS实现仿msn风格选项卡效果代码_javascript技巧

本文实例讲述了JS+CSS实现仿msn风格选项卡效果代码.分享给大家供大家参考,具体如下: 这是一款来自MSN网站的选项卡,清新淡蓝色风格,新闻类.资讯类.文章类网站都比较适合使用,代码扩展性高,W3C标准设计,兼容IE.火狐等多种浏览器,整体效果非常不错. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-f-msn-style-menu-demo/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C/

js+css 实现遮罩居中弹出层

 本文为大家详细介绍下使用js实现遮罩弹出层居中,且随浏览器窗口滚动条滚动,示例代码如下,感兴趣的朋友可以参考下 js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)   代码如下: <!doctype html>  <head>  <meta charset="utf-8" />  <title></title>  <style type="text/css">  *{}{margin:

JS实现简单的右下角弹出提示窗口完整实例_javascript技巧

本文实例讲述了JS实现简单的右下角弹出提示窗口效果.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <

js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)_javascript技巧

js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动) 复制代码 代码如下: <!doctype html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> *{}{margin:0;padding:0;} html{}{_background:url(about:blank);} /**//*

JS+CSS实现自动改变切换方向图片幻灯切换效果的方法

 这篇文章主要介绍了JS+CSS实现自动改变切换方向图片幻灯切换效果的方法,实例分析了javascript操作图片切换方向的幻灯片技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS+CSS实现自动改变切换方向图片幻灯切换效果的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

JS+CSS实现实用的单击输入框弹出选择框的方法

 这篇文章主要介绍了JS+CSS实现实用的单击输入框弹出选择框的方法,实例分析了javascript操作select及button的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS+CSS实现实用的单击输入框弹出选择框的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

apache tomcat:apache + tomcat +js + css 实现分离跨域

一个java站点,使用tomcat服务器,那么需要把站点的css .images.js都需要分离.用不同的域名的话,会碰到跨域的情况.为此,使用apache的代理来实现分离工作css .images.js资源全部放到src.test.com/css/--src.test.com/images/--src.test.com/js/--java 站点tomcat 服务器访问方式ajp://127.0.0.1:8009/ 其实是http://127.0.0.1:8080/apache httpd.co