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 相关文章推荐
CSS常用网站布局实例
Apr 03 Javascript
基于Jquery的开发个代阴影的对话框效果代码
Jul 28 Javascript
js 验证密码强弱的小例子
Mar 21 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
Jul 24 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
Dec 02 Javascript
JS中对数组元素进行增删改移的方法总结
Dec 15 Javascript
CSS+jQuery实现简单的折叠菜单
Dec 20 Javascript
详解基于Vue+Koa的pm2配置
Oct 24 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
Nov 08 Javascript
vue中element 上传功能的实现思路
Jul 06 Javascript
vue swipe自定义组件实现轮播效果
Jul 03 Javascript
JS实现4位随机验证码
Oct 19 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
提取HTML标签
2006/10/09 PHP
聊天室php&amp;mysql(一)
2006/10/09 PHP
php中计算时间差的几种方法
2009/12/31 PHP
php中定义网站根目录的常用方法
2010/08/08 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
js使用递归解析xml
2014/12/12 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python 解析XML文件
2009/04/15 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
会计电算化应届生自荐信
2014/02/25 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
大学生毕业求职信
2014/06/12 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
实习介绍信模板
2015/01/30 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
七夕情人节问候语
2015/11/11 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL
Spring Boot实现文件上传下载
2022/08/14 Java/Android