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基本对象
Jan 11 Javascript
js+FSO遍历文件夹下文件并显示
Mar 07 Javascript
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
php图像生成函数之间的区别分析
Dec 06 Javascript
JavaScript自定义数组排序方法
Feb 12 Javascript
javascript基于prototype实现类似OOP继承的方法
Dec 16 Javascript
jQuery Mobile操作HTML5的常用函数总结
May 17 Javascript
jquery插入兄弟节点的操作方法
Dec 07 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 jQuery
在vue-cli中组件通信的方法
Dec 16 Javascript
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 jQuery
Vue全局分页组件的实现代码
Aug 10 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临时文件的安全性分析
2014/07/04 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
jQuery ui 1.7更新小结
2009/08/15 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
python 换位密码算法的实例详解
2017/07/19 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
python集合删除多种方法详解
2020/02/10 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
linux系统都有哪些运行级别
2016/03/26 面试题
品牌宣传方案
2014/03/21 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
python 远程执行命令的详细代码
2022/02/15 Python