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 相关文章推荐
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
Dec 03 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
Jan 01 Javascript
开发中可能会用到的jQuery小技巧
Mar 07 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
May 23 Javascript
jQuery实现购物车多物品数量的加减+总价计算
Jun 06 Javascript
JavaScript中的继承方式详解
Feb 11 Javascript
javascript中innerText和innerHTML属性用法实例分析
May 13 Javascript
JS折半插入排序算法实例
Dec 02 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
Aug 24 Javascript
JS实战篇之收缩菜单表单布局
Dec 10 Javascript
js中的触发事件对象event.srcElement与event.target详解
Mar 15 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 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
BBS(php &amp; mysql)完整版(二)
2006/10/09 PHP
第二节--PHP5 的对象模型
2006/11/16 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
python字符串判断密码强弱
2020/03/18 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
mysql函数全面总结
2021/11/11 MySQL