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下checked取值问题的解决方法
Aug 09 Javascript
常用的JS验证和函数汇总
Dec 23 Javascript
JavaScript实现数字数组正序排列的方法
Apr 06 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
Aug 12 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
Jul 12 Javascript
xcode中获取js文件的路径方法(推荐)
Nov 05 Javascript
简单实现js放大镜效果
Jul 24 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
Sep 18 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
Dec 26 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
Jul 09 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 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实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
php的socket编程详解
2016/11/20 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
初识Node.js
2014/09/03 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
对python函数签名的方法详解
2019/01/22 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
二年级数学教学反思
2014/01/21 职场文书
授权委托书范本
2014/04/03 职场文书
文明市民先进事迹
2014/05/15 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
给老婆的检讨书
2015/01/27 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
党小组考察意见
2015/06/02 职场文书
大学运动会加油稿
2015/07/22 职场文书
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers