`

jquery 对象 级别的插件开发模板

阅读更多
;(function() {

	$.fn.pluginName = function(options) {

		//设置默认值
		var defaults = {

		};
		
		var settings = {};
		//合并参数
		$.extend(settings, defaults, options);

		// 在each 里 实现功能的代码
		this.each(function() {
			var _this=$(this);
			

		});
		
		return this;

	};

});

 

 

//在任何情况下,一个单独的插件不应该在jQuery.fnjQuery.fn对象里有多个命名空间。
// ---------------- 下面的做法是错误的    -------------------------
;(function($) {

	$.fn.tooltip = function(options) {
		// this
	};
	$.fn.tooltipShow = function() {
		// is
	};
	$.fn.tooltipHide = function() {
		// bad
	};
	$.fn.tooltipUpdate = function(content) {
		// !!!
	};

})(jQuery);
///---------------- 上面的做法是错误的    ---------------------------


//这是不被鼓励的,因为它$.fn使$.fn命名空间混乱。 为了解决这个问题,你应该收集对象文本中的所有插件的方法,通过传递该方法的字符串名称给插件以调用它们。
;
(function($) {

	var toolMethods = {
		init : function(options) {
			// this
		},
		show : function() {
			// is
		},
		hide : function() {
			// good
		},
		update : function(content) {
			// !!!
		}
	};

	$.fn.tooltip = function(method) {

		// 方法调用
		if (toolMethods[method]) {
			return toolMethods[method].apply(this, Array.prototype.slice.call(arguments, 1));
		} else if (typeof toolMethods === 'object' || !method) {
			return toolMethods.init.apply(this, arguments);
		} else {
			$.error('toolMethods ' + method + ' does not exist on jQuery.tooltip');
		}

	};

})(jQuery);


// 调用init方法
$('div').tooltip();

// 调用init方法
$('div').tooltip({
	foo : 'bar'
});

// 调用hide方法
$('div').tooltip('hide');

// 调用Update方法
$('div').tooltip('update', 'This is the new tooltip content!');

 

分享到:
评论

相关推荐

    最全面的jQuery基础知识

    jQuery元素属性、jQuery元素内容、jQuery动态创建内容、jQuery删除节点、jQuery事件处理、jQuery文档就绪的四...插件开发、jQuery对象级别的插件开发、jQuery类级别的插件开发、jQuery插件文件的引用、jQuery插件的使用...

    jqueryPluginTemplateUsingClass:开发jQuery插件的模板(使用javascript类)

    在JavaScript和jQuery的世界里,开发自定义插件是扩展库功能和提高代码复用性的重要方式。本教程将深入探讨如何使用JavaScript类来构建一个jQuery插件,这将使你的代码更加模块化和易于维护。...

    jquery-confirm.rar

    `jquery-confirm`的使用非常直观,只需要调用jQuery对象的`.confirm()`或`.alert()`方法即可。例如,用于显示一个简单的确认消息: ```javascript $.confirm({ text: "您确定要删除吗?", confirm: function() { ...

    Java基础及相关jar包和jQuery

    - **类与对象**:Java是一种面向对象的语言,类是对象的模板,而对象是类的具体实例。 - **继承**:子类可以继承父类的属性和方法,提高代码复用性。 - **多态**:同一接口的不同实现形式,如方法重载和方法覆盖。 -...

    JQuery无限级树源码.rar

    7. **扩展性**:优秀的无限级树插件应具有良好的可扩展性,支持自定义节点模板、节点图标、拖放功能、搜索功能等。 8. **性能优化**:考虑到大量节点可能导致性能问题,可以通过虚拟DOM技术、延迟渲染等方法优化,...

    jQuery四级联动下拉菜单代码.zip

    jQuery是一款广泛应用于网页交互与动态效果的JavaScript库,它的出现极大地简化了JavaScript的DOM操作,使得前端开发变得更加高效。在本资源"jQuery四级联动下拉菜单代码.zip"中,我们将会探讨如何使用jQuery实现四...

    省市区地区三联动插件

    总结,省市区三联动插件是前端开发中的一个重要组件,它利用JavaScript(通常是jQuery)和数据驱动的动态更新来提供流畅的用户体验。在实际项目中,根据`selectCity`等文件的实现,我们可以定制和优化插件,以满足...

    php省市区三级联动插件

    这个插件不需要额外的数据库支持,只需要引入相关文件就能直接使用,大大简化了开发流程和部署成本。 ThinkPHP是一个非常流行的PHP框架,它提供了丰富的功能和优秀的性能,使得开发者能够快速构建企业级应用。在这...

    jquery树

    jQuery树是通过jQuery对象和DOM元素结合,模拟出具有层级关系的数据结构。它通常用于构建导航菜单、组织结构图或者文件目录等,通过展开、折叠节点,使用户能清晰地查看和操作层次化信息。 实现jQuery树的基本步骤...

    精确到毫秒jQuery倒计时代码.zip

    总的来说,这个压缩包提供了一个实用的jQuery倒计时插件,适用于需要精确时间显示的场景。通过学习和理解这个代码,开发者不仅可以掌握如何在JavaScript和jQuery中实现倒计时,还能了解到如何处理时间差的计算以及...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    10-26 4 jquery对象集合遍历的四种形式及练习题讲解 jquery的dom操作 10-27 1课程回顾 10-27 2 jquery的dom操作 内部插入 外部插入 10-27 3 jquery节点操作 10-27 4 练习题讲解 10-27 5 jquery属性操作 获取子元素和...

    基于PHP的Wordpress 商业模板源码 php版.zip

    【标题】"基于PHP的Wordpress商业模板源码 php版.zip"揭示了这是一个与WordPress相关的项目,使用PHP语言开发,并且包含的是商业级别的模板源代码。WordPress是一个流行的开源内容管理系统(CMS),主要用于构建网站...

    jquery-modal:一个建立在 Metal.js 模态组件之上的简单 jQuery 插件

    金属框架的设计理念是提供一个低级别的基础,可以构建更高级别的库和框架,如 `Soy模板` 和 `jQuery Modal` 插件。 ### jQuery Modal特点 1. **易用性**:`jQuery Modal` 的API设计简洁,使得添加和管理模态对话框...

    jQuery仿淘宝移动端添加收货地址

    【标题】"jQuery仿淘宝移动端添加收货地址"是一个典型的前端开发项目,旨在实现与淘宝移动端类似的用户输入收货地址的交互体验。该项目利用jQuery库,一个轻量级的JavaScript库,来处理DOM操作、事件处理和动画效果...

    Laravel开发-adminlte .zip

    3. **插件集成**:包含许多常用的前端库,如jQuery、Chart.js、SweetAlert等,便于实现动态效果和数据可视化。 4. **组件丰富**:有各种各样的小部件和UI元素,如日历、计时器、进度条、下拉菜单等。 5. **易于定制*...

    Laravel开发-adminlte

    此外,它还集成了 jQuery 和其他 JavaScript 插件,如图表库、日期选择器等,以增强交互性和数据可视化能力。 将 Laravel 与 AdminLTE 结合使用,可以极大地提升开发效率和项目质量。在 Laravel 项目中集成 ...

    cascaderjs级联选择器

    在JavaScript中,我们可以使用原生DOM操作、jQuery库或者其他前端框架(如React、Vue或Angular)来实现级联选择器。这里我们以原生JS为例,简要介绍其基本实现步骤: 1. **创建HTML结构**:首先,我们需要创建一个...

    se7en后台模板

    模板中的"jQuery-mb20161017"可能是指一个特定版本的jQuery库,这是前端开发中广泛使用的JavaScript库,提供了许多便利的函数,简化了DOM操作、事件处理、动画效果和Ajax交互。这个版本可能包含了针对该模板优化的...

    js三级地区省市县选择插件

    综上所述,"js三级地区省市县选择插件"涉及了JavaScript基础、jQuery库的运用、DOM操作、数据处理、事件处理、Ajax通信等多个前端开发的核心技术。开发者需要熟练掌握这些知识点,才能有效地实现和优化此类插件。...

    161js_HTML手机电脑网站_网页源码移动端前端js效果_H5模板_自适应css源码ui组件.zip

    在这个压缩包中,js效果可能包含各种JavaScript库或插件,如jQuery,提供更简单的方式来操作DOM(文档对象模型),或者实现滑动效果、下拉菜单、轮播图等。 3. CSS(Cascading Style Sheets):CSS是用于控制网页...

Global site tag (gtag.js) - Google Analytics