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学习笔记(三):JavaScript也有入口Main函数
Sep 12 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
Sep 23 Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
jQ处理xml文件和xml字符串的方法(详解)
Nov 22 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
Dec 28 Javascript
Javascript实现基本运算器
Jul 15 Javascript
react-native封装插件swiper的使用方法
Mar 20 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
May 22 Javascript
微信小程序实现自上而下字幕滚动
Jul 14 Javascript
javascript的惯性运动实现代码实例
Sep 07 Javascript
微信小程序点击列表跳转到对应详情页过程解析
Sep 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加Nginx实现动态裁剪图片方案
2014/03/10 PHP
php强制运行广告的方法
2014/12/01 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Python fileinput模块使用实例
2015/05/28 Python
Python3字符串学习教程
2015/08/20 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
利用pyinstaller打包exe文件的基本教程
2019/05/02 Python
django 单表操作实例详解
2019/07/30 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
什么是GWT的Module
2013/01/20 面试题
中专三年学习的个人自我评价
2013/12/12 职场文书
高中美术教学反思
2014/01/19 职场文书
广播节目策划方案
2014/05/23 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书