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 触发HTML元素绑定的函数
Sep 11 Javascript
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
浅析Js中的单引号与双引号问题
Nov 06 Javascript
20分钟打造属于你的Bootstrap站点
Jul 27 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
Sep 19 Javascript
理解JavaScript原型链
Oct 25 Javascript
Bootstrap3 多选和单选框(checkbox)
Dec 29 Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 Javascript
vue.js 初体验之Chrome 插件开发实录
May 13 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
Dec 18 Javascript
RxJS在TypeScript中的简单使用详解
Apr 13 Javascript
Vue element-ui父组件控制子组件的表单校验操作
Jul 17 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
很实用的一个完整email发送程序
2006/10/09 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
php中Redis的应用--消息传递
2017/03/28 PHP
utf8的编码算法 转载
2006/12/27 Javascript
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
IE 下的只读 innerHTML
2009/08/21 Javascript
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
解决vue props 拿不到值的问题
2018/09/11 Javascript
Vue 配合eiement动态路由,权限验证的方法
2018/09/26 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
让 python 命令行也可以自动补全
2014/11/30 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
python如何进入交互模式
2020/07/06 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
中班上学期幼儿评语
2014/04/30 职场文书
社区创先争优承诺书
2014/08/30 职场文书
学习十八大的心得体会
2014/09/12 职场文书
2015年信访工作总结
2015/04/07 职场文书
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android