jquery自定义组件实例详解
编程学习 2021-07-04 14:07www.dzhlxh.cn编程入门
这篇文章主要为大家详细介绍了jquery自定义组件实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
缘起
我们知道在JQ中,是允许我们自定义一些插件与扩展的。定义的方式也比较简单,采用$.extend就行,那么狼蚁网站SEO优化就来看看在JQ中自定义一个插件的实例
JQuery如何封装一个组件
效果
我们先来看封装好的组件的效果图,这是一个根据组织机构选择人员的组件。
实现原理
我们先定义一个DbwSelectUser函数
DbwSelectUser : function (options) { var opt = $.extend({ //是否多选:true(多选),false(单选) multi:true, offset:'auto', //layerIndex:弹出窗口索引 //users数据结构:[{userId:'', userName:'', departId:'', departName:''}] onOk:function(layerIndex, users){} }, options || {}); $.LoadIframe({ title: '请选择人员', content: 'assets/js/extend/jquery/userSelect/user-select.jsp?multi=' + opt.multi, maxmin: false, area: ['840px', '500px'], resize: false, scrollbar:false, offset: opt.offset, btn: ['确定', '取消'], yes: function (index, layero) { var iframeWin = $(layero).find('iframe')[0].contentWindow; //users:[{userId:'', userName:'', departId:'', departName:''}] var users = iframeWin.getSelectedUsers(); opt.onOk(index, users); return false; } }, false); }
这里的user-select.jsp就是要弹出的页面
这边调用了LoadIframe方法并传入了参数,我们来看看LoadIframe方法的实现
LoadIframe: function (options, fullScreen) { /*layer的默认配置*/ var _default = { type: 2, title: '系统窗口', content: '', area: 'auto', shadeClose: false, maxmin: true, maxWidth: 600, maxHeight: 500 }, o = $.extend(_default, options || {}), index = layui.layer.open(o); if (fullScreen) { //窗口全屏 layui.layer.full(index); } return index; }
使用
$.DbwSelectUser({ //offset:弹出框显示位置(空或auto:居中,rb:右下角) offset:'rb', //选好人员后弹出框的“确定”按钮单击事件回调函数 onOk:function(layerIndex, users) { //layerIndex:弹出框layer的索引 //users数据结构:[{userId:'', userName:'', departId:'', departName:''},{....}] //以下编写接收到所选人员后自己的业务逻辑 } });
可以看到其实是对layui的一个弹窗进行了封装,其中$.extend是JQuery里面扩展插件的一个方法,会用后面的同名变量替换前面的。在上诉代码中的作用是用来如果你没有传某个属性,就用默认的属性。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- ThinkPad 笔记本如何调节LCD屏幕亮度
- Dreamweaver制作网页打开特效教程
- Win10 Mobile 10586升级后无限重启怎么办 硬重启帮您
- Win8系统提示音频设备有问题有一个或多个音频服
- Xbox One版Win10首个预览版9月份发布
- 如何在textarea文本输入区内实现换行
- Win10 Build 9901系统更新 预览版新版本下载
- McAfee Framework存在远程格式串处理漏洞
- Win10家庭版今日(7月30)正式在中国官方商城开卖
- Win10 Mobile预览版更新完10536.1000后才收到10536.100
- Win10 RS2更新了什么-Win10 RS2最终版本号1704首曝
- Windows7如何查看回收站对应的文件夹有哪些方法
- Win10让Charms栏回归桌面的方法教程
- 取消Windows XP系统开机启动画面的小技巧
- win8系统怎么下载安装USB百兆网卡?
- XP系统下磁盘空间变少了怎么办?XP系统磁盘空间