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 相关文章推荐
ExtJs 表单提交登陆实现代码
Aug 19 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
Dec 17 Javascript
jQuery实现平滑滚动到指定锚点的方法
Mar 20 Javascript
js实现非常棒的弹出div
Oct 06 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
Sep 04 Javascript
JS模拟实现哈希表及应用详解
May 04 Javascript
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
解决Vue开发中对话框被遮罩层挡住的问题
Nov 26 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
Feb 20 Javascript
微信小程序如何使用canvas二维码保存至手机相册
Jul 15 Javascript
微信小程序实现拍照画布指定区域生成图片
Jul 18 Javascript
微信小程序如何实现精确的日期时间选择器
Jan 21 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
Protoss建筑一览
2020/03/14 星际争霸
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
javascript 操作符(~、&amp;、|、^、)使用案例
2014/12/31 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python根据日期返回星期几的方法
2015/07/06 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
Python字典的核心底层原理讲解
2019/01/24 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
pycharm实现猜数游戏
2020/12/07 Python
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
检察官就职演讲稿
2014/01/13 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
三八妇女节标语
2014/10/09 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
2016年寒假家长评语
2015/10/10 职场文书
Python中with上下文管理协议的作用及用法
2022/03/18 Python
MySQL时区造成时差问题
2022/04/13 MySQL