jq封装插件
$.extend()拓展方法:
$(function(){
$.extend({
money:function(){
alert("我要努力赚钱")
},
money:function(){
alert("我要努力赚钱")
},
})
})
$.money()----->就可以调用;
----------------------------------------------------
$.fn.extend()jq对象的拓展方法:
$(function(){
$.fn.extend({
color:function(){
$(this).css("color","red");
},
bg:function(){
$(this).css("background","red");
}
})
})
$("div").color();------>即可调用
--------------------------------------------------------
插件名字:jQuery.插件名.js,以免和其他.js文件或者库冲突
局部对象附加在jQuery.fn对象上,全局函数附加在jQuery上;
插件内部this指向是当前的局部对象;
可以通过this.each()来遍历所有元素;
所有方法或插件,必须用分号结尾,避免出现问题(建议这么做)
插件应该返回的是jQuery对象,以保证可链式连缀
避免插件内部使用$,如果要使用,请传递jQuery进去;
如:jQuery.nav.js
;
(function($){
$.fn.extend({
nav:function(){
$(this).find(".nav").css({
listStyle:"none",
margin:0,
padding:0,
display:"none",
color:"red"
});
$(this).find(",nav").parent.hover(function(){
$(this).find(".nav").slidDown("normal");
},function(){
$(this).find(".nav").stop().slidUp("normal");
})
return this; ----->当前jq对象
}
})
})(jQuery)
结构:
<ul class=""list>
<li>一级
<ul class="nav">
<li>首页</li>
<li>首页</li>
<li>首页</li>
<li>首页</li>
</ul>
</li>
<li>一级
<ul class=""nav>
<li>首页</li>
<li>首页</li>
<li>首页</li>
<li>首页</li>
</ul>
</li>
<li>一级
<ul class="nav">
<li>首页</li>
<li>首页</li>
<li>首页</li>
<li>首页</li>
</ul>
</li>
</ul>
页面引用插件---->写在引用jq的下面,
$(".list").nav();
以下为常用的一些技巧:
cache:fale ---->$.ajax不设置缓存 //jq ajax 属性
var data = $("from").serialize();----->获取from表单整个需要发送参数。
console.log(data);
data:data;
success:function(){}return false
$.getScript(url,[callback])
$.getJSON(url,[callback])
jq封装插件的更多相关文章
- 怎么用jq封装插件
怎么用jq封装插件 以隔行变色为例 实现原理:1.找到表格的奇偶行,然后添加不同的class,激活行高亮显示也很简单,只要判断mouseover事件,然后添加一个class,mouseout的时候,再 ...
- jq封装插件,简单dome
(function($) { $.fn.extend({ bold: function() { this.css({ fontWeight: "bold", color: 'red ...
- jQuery框架-3.jQuery自定义封装插件和第三方插件
一.jQuery的封装扩展 1.jQuery中extend方法使用 (挂在到jQuery和jQuery.fn两对象身上的使用) 1.1.官方文档定义: jQuery.extend Merge th ...
- jq分页插件
jq分页插件 http://www.zhangxinxu.com/jq/pagination_zh/ html --------------- <tbody id="hiddenres ...
- vue封装插件并发布到npm上
vue封装插件并发布到npm上 项目初始化 首先,要创建项目,封装vue的插件用webpack-simple很合适,vue init webpack-simple 项目名称此命令创建我们的项目的目录, ...
- ***使用jQuery去封装插件(组件化、模块化的思想),即扩展方法
如何使用jQuery去封装插件,区分扩展全局方法与扩展一个普通的jQuery实例对象的方法 1.给全局对象扩展方法:①$.方法 = function(参数可加可不加){} ②使用:$.方法(有参数的 ...
- jq封装选项卡写法
jq普通选项卡写法: var tabTag=$('#tabon'); var tabon=tabTag.find('li');//菜单栏 var tabCon=$(".hidden" ...
- 封装插件并发布到npm的历程
1.封装插件 2.使用webpack打包的时候发生了很多问题 3.过程很反复 4.但最终还是发布成功了
- JQ封装图片预加载插件
我们知道,图片的加载,特别是资源较大的图片,加载相当耗费时间.为了提高用户体验,不得不使用图片预加载技术来提前加载,以提高用户在浏览时的流畅度. 先来弄明白图片的懒加载和预加载的不同: 1)概念:懒加 ...
随机推荐
- 004 ospf
r0(config)#router ospf 1 OSPF process 1 cannot start. There must be at least one "up" IP i ...
- Grails边做边学入门篇[1]--------大家一起来动手建立project和Domain
近期工作比較忙,没空写博客了.我发现每周五的下午都是我最放松的时候,可能是迟延症的缘故吧...总是寄希望于周末,慢慢的.我的周末就被工作占领了. 希望大家不要有这种坏毛病.今日事,今日毕.当然我们程序 ...
- AVD那些事儿
启动了AVD却说找不到AVD 错误提示: No active compatible AVD's or devices found. Relaunch this configuration after ...
- 加密散列算法——SHA-1
与MD5算法类似,SHA-1算法也是在接收到消息后产生消息摘要,能够用来验证数据的完整性. 不同的是SHA1会产生一个160位的消息摘要(MD5产生的是128位). 其它的性质之类的不多说(请參考前面 ...
- poj 1286 Necklace of Beads【polya定理+burnside引理】
和poj 2409差不多,就是k变成3了,详见 还有不一样的地方是记得特判n==0的情况不然会RE #include<iostream> #include<cstdio> us ...
- 10.19NOIP模拟赛(DAY2)
/* 正解O(n)尺取法orz 我写的二分答案.本来以为会被卡成暴力分...... 这个-'0'-48是我写的吗........我怎么不记得... */ #include<bits\stdc++ ...
- (分治)51NOD 1019 逆序数
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中逆序的总数就称为这个排列的逆序数. 如2 4 3 1中,2 1,4 3,4 1,3 1是 ...
- 微信扫码下载APK遮罩提示示例
由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时,界面显示一片空白,容易误导以为在下载呢.按照当前主流习惯,做一个提示用户在浏览器中打开下载的遮罩.网上很多现成 ...
- FJOI2019退役记
day1 不意外地一点都不紧张,早就感觉没有机会了吧 进场非常从容地读完了三道题,开始写t1暴力,接着就开始自闭,不知道该开t2还是t3,最后先开了t3,想了想这不是选两条不相交的链吗,这个暴力不是林 ...
- DFS POJ 1321 棋盘问题
题目传送门 /* DFS:因为一行或一列都只放一个,可以枚举从哪一行开始放,DFS放棋子,同一列只能有一个 */ #include <cstdio> #include <algori ...