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包装对象使用介绍
Aug 29 Javascript
原生javascript实现的分页插件pagenav
Aug 28 Javascript
Javascript 数组排序详解
Oct 22 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
jQuery的promise与deferred对象在异步回调中的作用
May 03 Javascript
AngularJS中的DOM操作用法分析
Nov 04 Javascript
详解数组Array.sort()排序的方法
May 09 Javascript
Three.js实现浏览器变动时进行自适应的方法
Sep 26 Javascript
解决vue动态为数据添加新属性遇到的问题
Sep 18 Javascript
浅谈vue项目打包优化策略
Sep 29 Javascript
JS中自定义事件的使用与触发操作实例分析
Nov 01 Javascript
AngularJS动态生成select下拉框的方法实例
Nov 17 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 $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
详解Python中的多线程编程
2015/04/09 Python
Python反转序列的方法实例分析
2018/03/21 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
详解Python:面向对象编程
2019/04/10 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
大整数数相乘的问题
2012/07/22 面试题
出生医学证明样本
2014/01/17 职场文书
舞蹈教师自荐信
2014/01/27 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
评职称个人总结
2015/03/05 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书