`
slbszq
  • 浏览: 267905 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

js/jQuery插件开发及规范

阅读更多

当我们画出了UI之后就可以正式编写jQuery插件代码了,不过在着之前我们还需要对jQuery插件开发的一些规范性有一些了解。

 

1. 使用闭包:

(function($){
	//Code goes here
})(jQuery);

 这是来自jQuery官方的插件开发规范要求,使用这种编写方式有什么好处呢?

a) 避免全局依赖。

b) 避免第三方破坏。

c) 兼容jQuery操作符'$'和'jQuery'

我们知道这段代码在被解析时会形同如下代码:

var fun = function($) {
	//Code goes here
};
fun(jQuery);

 这样效果就一目了然了。

 

2. 扩展

jQuery提供了2个供用户扩展的‘基类’ - $.extend和$.fn.extend.

$.extend 用于扩展自身方法,如$.ajax, $.getJSON等,$.fn.extend则是用于扩展jQuery类,包括方法和对jQuery对象的操作。为了保持jQuery的完整性,我比较 趋向于使用$.fn.extend进行插件开发而尽量少使用$.extend.

 

3. 选择器

jQuery提供了功能强大,并兼容多种css版本的选择器,不过发现很多同学在使用选择器时并未注重效率的问题。

a) 尽量使用Id选择器,jQuery的选择器使用的API都是基于getElementById或getElementsByTagName,因此可以知道 效率最高的是Id选择器,因为jQuery会直接调用getElementById去获取dom,而通过样式选择器获取jQuery对象时往往会使用 getElementsByTagName去获取然后筛选。

b) 样式选择器应该尽量明确指定tagName, 如果开发人员使用样式选择器来获取dom,且这些dom属于同一类型,例如获取所有className为jquery的div,那么我们应该使用的写法 是$('div.jquery')而不是$('.jquery'),这样写的好处非常明显,在获取dom时jQuery会获取div然后进行筛选,而不是 获取所有dom再筛选。

c) 避免迭代,很多同学在使用jQuery获取指定上下文中的dom时喜欢使用迭代方式,如$('.jquery .child'),获取className为jquery的dom下的所有className为child的节点,其实这样编写代码付出的代价是非常大 的,jQuery会不断的进行深层遍历来获取需要的元素,即使确实需要,我们也应该使用诸如$(selector,context), $('selector1>selector2'), $(selector1).children(selector2), $(selctor1).find(selector2)之类的方式。

 

js插件开发的一种方法:

 

js代码:

<html>
<script language="javascript" src="jquery.js"></script>

<script type="text/javascript">
(function ($) {
	//默认参数(放在插件外面, 避免每次调用插件都调用一次, 节省内存)
	var defaults = {
		color: '红色'
	};
	//扩展
	$.fn.extend({
		//插件名称
		height: function(options) {
			//覆盖默认参数
			var opts = $.extend(defaults, options);
			//主函数
			return this.each(function(){
				//激活事件
				var obj = $(this);
				obj.click(function(){
					alert(opts.color);
				});
			});
		}
	});
})(jQuery);

$(function(){
	$("p").height({color: 'black'});
});
</script>
<body>
	<p>
	click here
	</p>
</body>
<html>

 

参考:http://www.360doc.com/content/14/0307/09/15605563_358431277.shtml

分享到:
评论

相关推荐

    通用 JQuery 插件 开发

    **通用JQuery插件开发详解** 在Web开发领域,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。由于其简洁的API和丰富的功能,jQuery成为创建交互式网页的强大工具。...

    jQuery插件开发教程

    ### jQuery插件开发详解 #### 类级别的插件开发 类级别的插件开发,是指在jQuery的全局作用域中增加新的函数或属性,这种方式相当于给jQuery类本身添加了静态方法。这种开发模式允许开发者向jQuery的核心功能集合...

    Dreamware的jquery插件

    深入学习jQuery插件开发,你可以参考官方文档(https://learn.jquery.com/plugins/)以及各种在线教程和示例代码。同时,Stack Overflow和GitHub上的社区讨论也是获取帮助和灵感的好地方。 7. **最佳实践** - ...

    jquery 星级评分插件

    该插件可以与其他jQuery插件或后端API无缝集成。例如,你可以在用户提交评分时发送AJAX请求到服务器,更新数据库并返回响应。同时,还可以监听`click`事件,获取用户选择的评分,进行相应的处理。 ### 6. 自定义...

    W3C资源大集合(html5/CSS3/JavaScript/jQuery中文手册)

    这个压缩包集合了Web开发的重要资源,包括HTML5和CSS3的最新规范,JavaScript和jQuery的实用工具,以及PHP和MySQL的参考手册。这些资料对于前端和后端开发者来说都是宝贵的参考资料,它们可以帮助开发者深入理解这些...

    jquery插件开发

    本篇将详细介绍jQuery插件开发的基本步骤、设计模式以及一些实用技巧。 1. **创建基础结构** 开发一个jQuery插件首先需要定义一个函数,并通过$.fn(即jQuery.prototype)来扩展jQuery对象。基础结构如下: ```...

    jQuery 插件开发详解.pdf

    jQuery 插件开发详解 ...通过这个简单的示例,你可以了解到jQuery插件开发的基本思路。在实践中,不断尝试、学习和改进,你将能创建出更多功能强大且用户体验优秀的插件。记住,真正的学习来自于不断的实践和创新。

    打包js,jquery插件

    在这个"打包js,jquery插件"的压缩包中,包含了一系列常用的JavaScript插件,这些插件在网页开发中扮演着重要角色。 1. **jQuery UI**:这是一个基于jQuery的用户界面库,提供了各种可重用的UI组件,如日期选择器、...

    jquery-1.8.0min.js&&jquery;-1.8.0.js

    在这个标题为"jquery-1.8.0min.js&&jquery-1.8.0.js"的资源包中,包含了两个版本的jQuery库——未压缩版的jquery-1.8.0.js和压缩版的jquery-1.8.0.min.js,它们都是jQuery 1.8.0的实现,供开发者根据需求选择使用。...

    Eclipse的JS,Jquery代码提示插件

    在本篇文章中,我们将详细介绍如何利用Eclipse的JS和jQuery代码提示插件——Spket,提升JavaScript和jQuery的开发效率。 首先,Spket是一款强大的JavaScript IDE插件,它为Eclipse提供了丰富的代码补全、代码高亮和...

    超好用的Jquery插件集合

    **jQuery插件是JavaScript库jQuery的强大扩展,它们提供了一系列便捷的功能,用于增强网页的交互性和视觉效果。在“超好用的JQuery插件集合”中,我们可以找到针对不同应用场景的丰富资源,主要包括表单处理和图片...

    jQuery插件解析RSS20规范它是基于jFeed

    **jQuery插件解析RSS2.0规范:基于jFeed** RSS(Really Simple Syndication)是一种用于发布和聚合网络内容的XML格式,版本2.0是其最广泛采用的标准。RSS2.0规范允许网站创建可订阅的新闻源,使得用户可以通过RSS...

    jquery插件flash上传

    jQuery插件的编写通常遵循一定的规范,主要涉及命名空间、参数传递、元素选择以及功能实现等步骤。首先,我们需要创建一个独立的命名空间,避免与其他插件冲突。例如,我们可以这样开始: ```javascript (function...

    Jquery 插件库

    总结来说,jQuery插件库是JavaScript开发者的强大工具箱,它提供了一系列现成的解决方案,可以帮助开发者快速构建交互丰富的网页应用。无论是简单的幻灯切换还是复杂的动态效果,都可以通过选择合适的jQuery插件轻松...

    jQuery日期选择器插件

    通常,初始化方法的名称会遵循jQuery插件的命名规范,如`$.fn.datepicker`: ```javascript $(document).ready(function() { $('.date-input').datepicker(); }); ``` 这里假设`&lt;input&gt;`元素类名为`date-input`,...

    jquery插件

    **jQuery 插件详解** jQuery 是一个广泛使用的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和Ajax交互等...通过不断学习和实践,你将能够开发出更加高效、定制化的jQuery插件,以满足项目中的各种需求。

    时间选择器jQuery插件基于HTML5规范

    在IT行业中,jQuery插件是JavaScript库jQuery的扩展,用于增强和简化网页的交互功能。本文将深入探讨基于HTML5规范的时间选择器jQuery插件,它是一个轻量级且实用的解决方案,尤其适用于处理表单中的时间输入。该...

    Gif图片播放和暂停js代码jQuery插件

    4. **jQuery插件**:为了使插件易于使用,通常会封装成一个符合jQuery插件规范的函数。用户只需要在页面上引入jQuery和插件的JS文件,然后调用特定的jQuery方法来激活插件功能。 在实现过程中,可能需要使用到的库...

Global site tag (gtag.js) - Google Analytics