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 相关文章推荐
超级酷和最实用的jQuery实例收集(20个)
Apr 21 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
Jun 23 Javascript
jquery与ajax获取特殊字符实例详解
Jan 08 Javascript
JavaScript实现音乐自动切换和轮播
Nov 05 Javascript
浅谈Redux中间件的实践
Jul 27 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
Dec 20 Javascript
jquery实现选项卡切换代码实例
May 14 jQuery
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 Javascript
js实现多图和单图上传显示
Dec 18 Javascript
JS一次前端面试经历记录
Mar 19 Javascript
js实现幻灯片轮播图
Aug 14 Javascript
基于ajax实现上传图片代码示例解析
Dec 03 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
php预定义常量
2006/12/25 PHP
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
网页上facebook分享功能具体实现
2014/01/26 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
php实现数字补零的方法总结
2018/09/12 PHP
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Windows下安装python2.7及科学计算套装
2015/03/05 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
python遍历路径破解表单的示例
2020/11/21 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
车辆维修工自我评价怎么写
2013/09/20 职场文书
关爱残疾人演讲稿
2014/05/24 职场文书
学校督导评估方案
2014/06/10 职场文书
建筑工地文明标语
2014/10/09 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书