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 相关文章推荐
让innerHTML的脚本也可以运行起来
Jul 01 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
给html超链接设置事件不使用href来完成跳
Apr 20 Javascript
jQuery实现伪分页的方法分享
Feb 17 Javascript
jQuery基础知识点总结(DOM操作)
Jun 01 Javascript
Jquery实现跨域异步上传文件总结
Feb 03 Javascript
js获取地址栏中传递的参数(两种方法)
Feb 08 Javascript
javascript 删除数组元素和清空数组的简单方法
Feb 24 Javascript
vue子传父关于.sync与$emit的实现
Nov 05 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
Oct 29 Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
当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(3) php 函数
2010/02/15 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
javascript常见用法总结
2014/05/22 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
Vue.js学习示例分享
2017/02/05 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
Python下载网络小说实例代码
2018/02/03 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
python不同版本的_new_不同点总结
2020/12/09 Python
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
《太阳》教学反思
2014/02/21 职场文书
房产协议书范本
2014/10/18 职场文书
大学生求职自荐信
2015/03/24 职场文书
聘任通知书
2015/09/21 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技