jQuery弹框插件使用方法详解


Posted in jQuery onMay 26, 2020

本文实例为大家分享了jQuery弹框插件使用的具体代码,供大家参考,具体内容如下

要点 :

1、匿名函数包裹器(可搜索一下)
2、面向对象的编程
3、插件的要素(扩展jQuery本身的方法,$.extend ; 给jQuery对象添加方法,对jQuery.prototype进行扩展 ;添加一个函数到jQuery.fn(jQuery.prototype)对象,该函数的名称就是你的插件名称)
4、代码部分: 注意html中 a 标签的内容 , js中格式的注意 , css的话嫌麻烦你可以自己定义
5、优点: 引用插件 后 , 标签书写正确 , 无须再调用插件名可直接显示弹框

<!DOCTYPE html>
<html>

 <head>
 <meta charset="UTF-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 <title>用户管理-员工管理</title>
 <!-- <link rel="stylesheet" href="../css/main-style.css" >
 <link rel="stylesheet" href="../css/part-style.css" >
  <style type="text/css">

 .input-new-content>.input-list>select{
 width: 380px;
 height: 45px;
 border: 1px solid #ddd;
 border-radius: 5px;
 margin-top: 13px;
 text-indent: 10px;
 }

 </style> -->
 </head>

 <body>

 <!-- container-part -->
 <div id="container-part">

 <!-- part-display-content -->
 <div id="display-content">
   <a href="#changeable-box" type="open">click me</a>
 </div>

 </div>


 <div id="changeable-box" style="display: none">
 <div class="change-password-content">
 <div class="title-to-change">
  <p>标题</p>
  <a class="close-this-content" href="#changeable-box" type="close"></a>
 </div>
 <div class="input-new-content">
   <div class="input-list">
  <select class="" name="">
  <option value=""></option>
  </select>
  </div>
  <div class="input-list">
  <input type="text" name="" value="">
  </div>
  <div class="input-list">
  <input type="text" name="" value="" placeholder="确认密码">
  </div>
 </div>
 <div class="choose-newPassword-status">
  <a class="save-newPassword" href="#changeable-box" type="close">保存</a>
  <a class="cancel-changePassword" href="#changeable-box" type="close">取消</a>
 </div>
 </div>
 </div>

 <!-- <script type="text/javascript" src="../js/jquery-1.11.1.min.js"></script> jquery引用-->
 <script type="text/javascript">
 ;(function($ , window , document , undefined){
 $.jModal = function(ele , opt) {
  var target;
  this.$body = $('body');
  this.options = $.extend({} , $.jModal.defaults , opt);
  this.blocker = $('<div class="shadowblock"></div>');
  target = ele.attr('href');
  this.$elm = $(target)
  if (ele.attr('type') == 'open') {
  this.open();
  }
  else if (ele.attr('type') == 'close'){
  this.hide();
  }
  else {
  return false
  }
 }

 $.jModal.prototype = {

 open: function(){
  this.$elm.css({
  position: 'fixed',
  width: '440px',
  height: 'auto',
  fontSize: 'var(--base-font-size)',
  color: '#515355',
  background: '#fff',
  boxShadow: '0 0 2px 1px #eee',
  top: '50%',
  left: '50%',
  transform: 'translate(-50% , -50%)',
  zIndex: 3
  });

  if (this.options.showSpinner) {
  this.showSpinner()
  }
  this.show()
 },

 // 遮罩显示
 showSpinner: function() {
  this.blocker.css({
  position: 'fixed',
  width: '9999vw',
  height: '9999vh',
  left: 0,
  top: 0,
  background: '#000',
  opacity: .7,
  zIndex: 2,
  })
  this.$body.append(this.blocker);
 },

 // 弹框显示
 show: function() {
  this.$elm.show()
 },

 // 隐藏弹框 & 移除遮罩
 hide: function() {
  this.$elm.hide()
  $('.shadowblock').remove();
 }
 }

 $.jModal.defaults = {
 showSpinner: false ,
 }

 $.fn.jModal = function(options) {
 new $.jModal(this , options)
 return this
 }

 $(document).on('click' , 'a' , function(event){
 event.preventDefault()
 $(this).jModal()
 })
 })(jQuery , window , document)
 </script>
 </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
JQuery实现图片轮播效果
May 08 jQuery
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
May 08 jQuery
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
jQuery开源组件BootstrapValidator使用详解
Jun 29 jQuery
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 jQuery
浅谈jQuery框架Ajax常用选项
Jul 08 jQuery
jQuery Pagination分页插件_动力节点Java学院整理
Jul 17 jQuery
jquery+css实现简单的图片轮播效果
Aug 07 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
jQuery实现的分页插件完整示例
May 26 #jQuery
jQuery 选择器用法实例分析【prev + next】
May 22 #jQuery
jQuery--遍历操作实例小结【后代、同胞及过滤】
May 22 #jQuery
jquery更改元素属性attr()方法操作示例
May 22 #jQuery
jquery绑定事件 bind和on的用法与区别分析
May 22 #jQuery
jQuery实现移动端笔触canvas电子签名
May 21 #jQuery
jQuery HTML获取内容和属性操作实例分析
May 20 #jQuery
You might like
thinkphp连贯操作实例分析
2014/11/22 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
jquery ajax abort()的使用方法
2010/10/28 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
[39:07]LGD vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
python zip文件 压缩
2008/12/24 Python
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
儿童学习python的一些小技巧
2018/05/27 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
人力资源求职信
2014/05/25 职场文书
小学数学课题方案
2014/06/15 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
python如何进行基准测试
2021/04/26 Python
深入浅析Redis 集群伸缩原理
2021/05/15 Redis