代码: jquery 插件开发(自用插件)
http://www.imooc.com/learn/99 阿当大话西游之WEB组件 2016-4-19
jquery插件开发: 2016-3-1
http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 讲解
http://isux.tencent.com/half-package-web-components-for-design.html 面向设计的半封装web组件开发 2016-4-6
这是个最简单的: (方法调用模式)
- <script src="http://cdn.bootcss.com/jquery/1.12.1/jquery.min.js"></script>
- <script type="text/javascript">
- $(function(){
- var WG={
- prov:11,
- city:234,
- test1:function(){
- alert(this.city);
- }
- }
- WG.test1();
- </script>
多级类: 2016-3-17
这是类似json串的写法。 都是“名——值”的对应关系。 值可以是属性、方法,还可以是对象、数组————只要你愿意,把什么都可以塞进去
- <script src="http://cdn.bootcss.com/jquery/1.12.1/jquery.min.js"></script>
- <script type="text/javascript">
- $(function(){
- var WG={
- city:110,
- test1:function(){
- alert(this.city);
- },
- base:{
- city:110101,
- test1:function(){
- alert(this.city);
- },
- test2:function(){
- alert(WG.city);
- alert(WG.arr[2]);
- }
- },
- arr:[555,444,333,222,111]
- }
- //-----------------------------
- $("#button1").click(function(){
- WG.test1();
- });
- $("#button2").click(function(){
- WG.base.test1();
- });
- $("#test2").click(function(){
- WG.base.test2();
- });
- });
- </script>
- <input type="button" value="一级" id="button1">
- <input type="button" value="二级" id="button2">
- <input type="button" value="test2" id="test2">
jQuery.fn.extend(object) ; 给jQuery对象添加方法。
jQuery.fn = jQuery.prototype = { }
jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。
- // 2016-3-1 17:00
- $(function(){
- /*
- 插件:弹窗
- 调用方式:
- //$('.js_design_pop').popLayer({timeout:223});//延时关闭
- $('.js_design_pop').popLayer();
- */
- var popLayer = function (target, options) {
- this.options = null;
- this.target = null;
- this.timeout = null;
- this.init(target, options);
- }
- popLayer.prototype.init = function (target, options) {
- this.options = options;
- this.target = target;
- this.timeout = null;
- target.fadeIn();
- if(options) {
- if (options.timeout !== undefined ) {
- if(options.timeout > 0){
- console.log(options.timeout);
- target.timer = setTimeout(function(){
- target.hide();
- $('.popmask').hide();
- },options.timeout);
- }
- }
- }
- //创建遮罩层
- var $mask = $('<div class="popmask"></div>');
- if($('.popmask').length === 0){
- $('body').append($mask);
- }
- $('.popmask').show();
- //弹出层居中
- var target = this.target;
- target.css({
- marginTop : -1 * (target.height() / 2),
- marginLeft : -1 * (target.width() / 2)
- });
- //右上角关闭按钮
- this.target.find('.close').click(function(){
- $(this).parents('.poplayer').hide();
- $('.popmask').hide();
- });
- //按ESC关闭所有弹层
- $(document).keydown(function(ev){
- if(ev.keyCode==27){
- $('.poplayer').hide();
- $('.popmask').hide();
- }
- });
- /*
- //弹出层拖拽
- var target=this.target;
- var canMove = false,Rx, Ry;
- target.mousedown(function (event) {
- Rx = event.pageX - (parseInt(target.css("left")) || 0);
- Ry = event.pageY - (parseInt(target.css("top")) || 0);
- target.css("position", "fixed").css('cursor', 'move');
- canMove = true;
- }).mouseup(function () {
- canMove = false;
- target.css('cursor', 'auto');
- });
- $(document).mousemove(function (event) {
- if (canMove) { target.css({ top: event.pageY - Ry, left: event.pageX - Rx }); }
- });*/
- }
- //关闭弹出层
- popLayer.prototype.close = function () {
- this.target.hide();
- $('.popmask').hide();
- }
- /*
- //示例
- //var a = new popLayer($('.js_collect_pop'),{timeout:2000});//延时关闭
- var a = new popLayer($('.js_collect_pop'));
- //var b = new popLayer($('.js_design_pop'));
- //a.close();
- });
..
...
代码: jquery 插件开发(自用插件)的更多相关文章
- jQuery插件开发——全屏切换插件
这个插件包含三个部分:HTML结构.CSS代码和JS代码. HTML结构是固定的,结构如下: <!--全屏滚动--> <div class="fullpage-contai ...
- jQuery插件开发,jquery插件
关于jQuery插件的开发自己也做了少许研究,自己也写过多个插件,在自己的团队了也分享过一次关于插件的课.开始的时候整觉的很复杂的代码,现在再次看的时候就清晰了许多.这里我把我自己总结出来的东西分享出 ...
- 自己动手开发jQuery插件全面解析 jquery插件开发方法
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...
- 基于jquery下拉列表树插件代码
分享一款基于jquery下拉列表树插件代码.这是一款实用的jquery 树形下拉框 下拉树代码下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <table width= ...
- JavaScript学习笔记(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- JavaScript学习总结(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- jQuery插件开发精品教程,让你的jQuery提升一个台阶
要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...
- jquery插件开发
jQuery是一个封装的很好的类,比如我们用语句$("#btn1") 会生成一个 jQuery类的实例. 一.jQuery插件开发注意要点 1.使用闭包,避免全局依赖,避免第三方破 ...
- jQuery插件开发(溢出滚动)
声明:此程序仅针对手机端,简单的封装一个插件,意在记载插件的开发过程,如有错误及不足之处,还望即时指出. 移动开发的时候,我们经常会遇到滑动事件,众所周知手机端滑动主要依靠touch事件.最近接连遇到 ...
随机推荐
- mybatis foreach 遍历list中的坑
将jdbc改写为mybatis时,传入的条件为list使用到的标签是<where> .<choose>.<when>.<if>.<foreach& ...
- ASP.NET MVC 阻止通过Url直接访问服务器上的静态文件
某些情况下我们需要在服务器上保存一些静态文件,比如用户上传到服务器的文件,如果刚好这些文件的保存目录是应用程序目录下的一个子目录的话,别人就可以通过Url直接访问这个文件. 例如:在应用程序目录下的U ...
- Javascript Canvas验证码
用Canvas画的验证码,效果图如下 1.验证码的JS代码,保存到一个名称是validatedCode.js的文件内,代码如下: (function(window,document){ functio ...
- echarts背景分割区域填充不同颜色(x轴为time),实时刷新
先来看下图片吧,这是实现效果: 思路: 因为要实时刷新,可以使用setInterval(),但是要控制好定时器的起与停,否则容易错乱以及页面卡死: 主要就是利用定时器五秒刷新,重绘echarts图:= ...
- ID3-C45-CART
区别:使用不同的属性选择度量. 信息增益偏向多值属性 信息增益率倾向产生不平衡的划分 基尼指数偏向多值属性,并且当类的数量很大时会有困难,还倾向于导致相等大小的分区和纯度 C4.5: 优点:产生的分类 ...
- 解决使用C/C++配置ODBC链接使用SQLConnect返回-1
VS中建立空项目使用ODBC连接时,SQLConnect函数总是返回-1,mysql和命令行连接数据库都是没问题的 retcode = SQLConnect(hdbc, (SQLCHAR*)" ...
- python写service时全局变量问题
在尝试用flask写service的过程中,我发现全局变量使用虽然很方便,但其实是很冒险的. 本次我使用的是声明global变量的方式,如果作为本地的单次使用的程序来说,确实没有问题并且很好用,对于竞 ...
- 全志A33 lichee怎样编译镜像
对于全志A33 lichee编译镜像文件需要先搭建好交叉编译环境,这个搭建环境可以看之前的文档 "SINA33开发板怎样创建编译环境" 开发平台 * 芯灵思SinlinxA33开发 ...
- Java面向对象 第2节 Scanner 类和格式化输出printf
§Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 1.创建 Scanner 对象的基本语法:Scanner s = ...
- oracle-------window安装
安装虚拟机(没难度,傻瓜装机) 然后右键左边 新建虚拟机 自定义------下一步------- 稍后安装操作系统------下一步 下一步 下一步 下一步 下一步,完成 然后启动,就可以启动一个系 ...