JS封装的模仿qq右下角消息弹窗功能示例


Posted in Javascript onAugust 22, 2018

本文实例讲述了JS封装的模仿qq右下角消息弹窗功能。分享给大家供大家参考,具体如下:

在我们的日常开发中,或者生活中,经常需要用到弹出窗。这里我们就用js模拟一下qq消息一样的弹出窗。

直接贴代码:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>3water.com javaScript实现网页右下角弹出窗口代码</title>
</head>
<body>
<script type="text/javascript">
var ShowMsg={
  title:'提示',
  content:'模拟qq弹出框消息提醒',
  width:'300px',
  height:'100px',
  setTitle:function(value){
    this.title=value;
  },
  setContent:function(value){
    this.content=value;
  },
  getTitle:function(){
    return this.title;
  },
  getContent:function(){
    return this.content;
  },
  show:function(){
    //弹窗div
    var _winPopDiv = document.createElement('div');
    _winPopDiv.id="_winPopDiv";
    _winPopDiv.style.cssText = 'width:300px; position:absolute; right:0; bottom:0; border:1px solid #666; margin:0; padding:1px; overflow:hidden; display:block;';
    //消息标题div
    var _titleDiv= document.createElement('div');
    _titleDiv.id="_titleDiv";
    _titleDiv.innerHTML=this.getTitle();
    _titleDiv.style.cssText = 'width:100%; height:22px; line-height:20px; background:#FFCC00; font-weight:bold; text-align:left; font-size:14px;';
    _winPopDiv.appendChild(_titleDiv);
    //关闭消息按钮span
    var _closeSpan= document.createElement('span');
    _closeSpan.id="_closeSpan";
    _closeSpan.innerHTML="X";
    _closeSpan.style.cssText = 'position:absolute; right:4px; top:-1px; color:#FFF; cursor:pointer;font-size:14px;';
    _titleDiv.appendChild(_closeSpan);
    //内容div
    var _conDiv= document.createElement('div');
    _conDiv.id="_conDiv";
    _conDiv.style.cssText = 'width:100%; height:110px; line-height:80px; font-weight:bold; font-size:12px; color:#FF0000; text-decoration:underline; text-align:center;';
    _conDiv.innerHTML=this.getContent();
    _winPopDiv.appendChild(_conDiv);
    document.body.appendChild(_winPopDiv);
    //关闭span绑定事件
    var closeDiv = document.getElementById("_closeSpan");
    if(closeDiv.addEventListener){
    closeDiv.addEventListener("click",function(e){
      if (window.event != undefined) {
      window.event.cancelBubble = true;
      } else if (e.stopPropagation) {
      e.stopPropagation();
      }
      document.getElementById('_winPopDiv').style.cssText="display:none;";
    },false);
    }else if(closeDiv.attachEvent){
    closeDiv.attachEvent("onclick",function(e){
      if (window.event != undefined) {
      window.event.cancelBubble = true;
      } else if (e.stopPropagation) {
      e.stopPropagation();
      }
      document.getElementById('_winPopDiv').style.cssText="display:none;";
    });
    }
  }
};
ShowMsg.show();
</script>
</body>
</html>

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun,测试可得到如下运行效果:

JS封装的模仿qq右下角消息弹窗功能示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
纯JAVASCRIPT图表动画插件Highcharts Examples
Apr 16 Javascript
火狐textarea输入法的bug的触发及解决
Jul 24 Javascript
js history对象简单实现返回和前进
Oct 30 Javascript
浅谈javascript中call()、apply()、bind()的用法
Apr 20 Javascript
JavaScript保存并运算页面中数字类型变量的写法
Jul 06 Javascript
jquery Deferred 快速解决异步回调的问题
Apr 05 Javascript
Bootstrap零基础入门教程(二)
Jul 18 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
Apr 07 Javascript
JavaScript定义函数的三种实现方法
Sep 23 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 Javascript
Promise.all中对于reject的处理方法
Aug 01 Javascript
当vue路由变化时,改变导航栏的样式方法
Aug 22 #Javascript
element-ui 设置菜单栏展开的方法
Aug 22 #Javascript
详解vue-cli脚手架中webpack配置方法
Aug 22 #Javascript
element-ui使用导航栏跳转路由的用法详解
Aug 22 #Javascript
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 #Javascript
解决element UI 自定义传参的问题
Aug 22 #Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 #Javascript
You might like
php中spl_autoload详解
2014/10/17 PHP
使用PHP编写发红包程序
2015/07/22 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
浅析Python中的多进程与多线程的使用
2015/04/07 Python
用python找出那些被“标记”的照片
2017/04/20 Python
对python的文件内注释 help注释方法
2018/05/23 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
python db类用法说明
2020/07/07 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
工程预算与管理应届生求职信
2013/10/06 职场文书
班组长工作职责
2013/12/25 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
Python连续赋值需要注意的一些问题
2021/06/03 Python