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 相关文章推荐
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 Javascript
JS如何判断移动端访问设备并解析对应CSS
Nov 27 Javascript
node.js中的fs.write方法使用说明
Dec 15 Javascript
jQuery中parentsUntil()方法用法实例
Jan 07 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
Feb 17 Javascript
用headjs来管理和加载js 提高网站加载速度
Nov 29 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
Jan 05 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
bootstrap fileinput实现文件上传功能
Aug 23 Javascript
js实现简单模态框实例
Nov 16 Javascript
VUE简单的定时器实时刷新的实现方法
Jan 20 Javascript
vue实现简单图片上传
Jun 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部分常见问题总结
2008/03/27 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
jQuery打印图片pdf、txt示例代码
2014/07/22 Javascript
js的toLowerCase方法用法实例
2015/01/27 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
Python psutil模块简单使用实例
2015/04/28 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
邮政员工辞职信
2014/01/16 职场文书
机电专业毕业生求职信
2014/07/01 职场文书
出纳工作检讨书
2014/10/18 职场文书
2014企业年终工作总结
2014/12/23 职场文书
运动与健康自我评价
2015/03/09 职场文书
转变工作作风心得体会
2016/01/23 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
python​格式化字符串
2022/04/20 Python