js用类封装pop弹窗组件


Posted in Javascript onOctober 08, 2017

下面的弹出框组件使用的是类来封装的。一个弹窗组件通过new一个实例来生成。

下面直接上代码:

html结构:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <style>
    /*基本的样式*/
    button{width: 1.6rem;height: 0.5rem;font-size: 0.3rem;line-height: 0.5rem;background: red;color: white;font-weight: bold}
    .hide{display: none;}
    .js-pop{
      width: 100%;
      height: 100%;
      z-index: 100;
      position: absolute;
      top:0;
      left: 0;
      font-size: 0.24rem;
    }
    .js-pop .mask{
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #000;
      opacity: 0.2;
    }
    .js-pop .content{
      position: fixed;
      top: 50%;
      left: 50%;
      width: 5.80rem;
      height: 4.81rem;
      margin: -2.405rem 0 0 -2.9rem;
      background: url("pop-bg.png") no-repeat;
      background-size: contain;
      color: #262626;
      text-align: center;
    }
    .js-pop .content .close{
      position: absolute;
      top: .25rem;
      right: .08rem;
      width: .54rem;
      height: .48rem;
      z-index: 4;
      cursor:pointer;
    }
    .js-pop .content .prize-title {
      height: .39rem;
      min-width: 1.77rem;
      margin: .28rem auto;
      line-height: 0.39rem;
      color: white;
      text-align: left;
      text-indent: 1rem;
    }
    .js-pop .content .prize-content {
      color: #a40000;
      font-size: .24rem;
      margin:0 0.1rem 0 0.49rem;
      line-height: 0.4rem;
      width: 5.2rem;
    }
  </style>
</head>
<body>
<button id="bb">显示弹窗</button>
<div class="js-pop js-prize-pop hide" id="popLogin">
  <div class="mask"></div>
  <div class="content">
    <div class="close"></div>
    <div class="prize-title">温馨提示</div>
    <div class="prize-content" style="margin-top: 1rem">
      登录后才能参与活动哦!
      <br/>
      自动登录跳转中......
    </div>
  </div>
</div>
<!--引入jquery-->
<script type="text/javascript" src="http://image.37wan.cn/common/js/jquery-1.9.1.min.js"></script>
<!--引入Pop组件-->
<script src="pop.js"></script>
<script>
//  rem代码
  var windowW = $(window).width();
  var ratio = windowW/640;
  $("html").css("fontSize",100*ratio+"px");
  $(window).on("resize",function(){
    var windowW = $(window).width();
    var ratio = windowW/640;
    $("html").css("fontSize",100*ratio+"px");
  });
//new一个Pop实例
  var popLogin=new Pop($("#popLogin"));
  $("#bb").on("click",function(){
    popLogin.open();
  });

</script>
</body>
</html>

pop.js代码:

//Pop的构造函数
  var Pop=function(wrap,option){
    var $this=this;
    var opt={
      closeCall:null
    };
    $.extend(opt,option);
    var mask=wrap.find(".mask");
    //特权方法:1、open();2、close();3、setPrize();4、setContent()控制弹窗内显示的内容
    this.open=function(){
      wrap.show();
      mask.show();
    };
    this.close=function(callbalck){
      wrap.hide();
      mask.hide();
      opt.closeCall&&callbalck();
    };
    this.setPrize=function(text){
      wrap.find(".js-prize").text(text);
    };
    this.setContent = function (text) {
      wrap.find(".js-content").text(text);
    };
    function events(){
      wrap.on("click",".close",function(e){
        e.stopPropagation();
        $this.close(opt.closeCall);
      });
    }
    events();
  };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
Jul 10 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
Jan 28 Javascript
jquery自定义插件——window的实现【示例代码】
May 06 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 Javascript
基于vue组件实现猜数字游戏
May 28 Javascript
Vue组件化开发之通用型弹出框的实现
Feb 28 Javascript
vue抽出组件并传值实例
Jul 31 Javascript
vue 防止页面加载时看到花括号的解决操作
Nov 09 Javascript
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
May 30 Javascript
利用js编写网页进度条效果
Oct 08 #Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
Oct 08 #Javascript
JS动态修改网页body的背景色实例代码
Oct 07 #Javascript
JS实现简单表格排序操作示例
Oct 07 #Javascript
javascript数组定义的几种方法
Oct 06 #Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
Oct 06 #Javascript
node.js中http模块和url模块的简单介绍
Oct 06 #Javascript
You might like
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
PDO::quote讲解
2019/01/29 PHP
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
Python自定义主从分布式架构实例分析
2016/09/19 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
Django 视图层(view)的使用
2018/11/09 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
python -v 报错问题的解决方法
2020/09/15 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
C语言编程题
2015/03/09 面试题
机电专业毕业生求职信
2013/10/27 职场文书
实习协议书范本
2014/04/22 职场文书
酒店员工培训方案
2014/06/02 职场文书
本科应届生求职信
2014/08/05 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
React如何创建组件
2021/06/27 Javascript
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技