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 相关文章推荐
javascript 类方法定义还是有点区别
Apr 15 Javascript
Javascript 类型转换方法
Oct 24 Javascript
JavaScript面向对象之Prototypes和继承
Jul 12 Javascript
js给onclick事件赋值,动态传参数实例解说
Mar 28 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
Mar 16 Javascript
javascript实现日期按月份加减
May 15 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
Dec 29 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
Apr 13 Javascript
Angular网络请求的封装方法
May 22 Javascript
Vue2.0生命周期的理解
Aug 20 Javascript
基于node.js实现爬虫的讲解
Feb 18 Javascript
vue滚动固定顶部及修改样式的实例代码
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
php中截取中文字符串的代码小结
2011/07/17 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
英国大码女性时装零售商:Evans
2018/08/29 全球购物
法学毕业生自荐信
2013/11/13 职场文书
外贸采购员求职的自我评价
2013/11/26 职场文书
入党思想汇报
2014/01/05 职场文书
机电一体化职业规划书
2014/01/07 职场文书
承认错误的检讨书
2014/01/30 职场文书
执行总经理岗位职责
2014/02/03 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
开票员岗位职责
2015/02/12 职场文书
村官个人总结范文
2015/03/03 职场文书
谢师宴家长致辞
2015/07/27 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫
python缺失值填充方法示例代码
2022/12/24 Python